永发信息网

c语言的奇怪错误!高手能否解答

答案:2  悬赏:20  手机版
解决时间 2021-06-02 22:47

就是我在
[sum1 =per(h,0,3); ]输入n=3
而下面的

double per(int*h,int i,int n)
{printf (“%d "n);
int k;
n显示出来的却不是3!

源程序:

#include<stdio.h>
#include <math.h>
int a[3][3]={0};
double sum=0;
void swap(int* a, int* b);
int ni(int a ,int b,int c );
void main()
{double per(int* h, int i, int n);

int ni(int ,int ,int );
for(int b=0;b<=2;b++)
for(int c=0;c<=2;c++)

{printf("请输入%d",a[b][c]);
scanf("%d",&a[b][c]); }

for(int i=0;i<=2;i++)
{for(int g=0;g<=2;g++)
{printf("%d ",a[i][g]);}
printf("\n");}
getchar();

double sum1;


int h[3] = {0,1,2};
sum1 =per(h,0,3);

}

double per(int*h,int i,int n)
{printf("%d",n);
int k;

int g;
int f[3]={0};
if(i == n) {

int x=h[0],c=h[1],v=h[2];
f[0]=a[x][0];
f[1]=a[c][1];
f[2]=a[v][2];

g=ni(f[0],f[1],f[2]);

sum=pow(-1.0,g)*f[0]*f[1]*f[2]+sum;
printf("%d, %d %d %d %d",sum,x,c,v);
}

else
{for(k = i; k < n; ++k)
{swap(h+i, h+k);
per(h, i+1, n);
swap(h+i, h+k);
}
}
return (sum);}
void swap(int* a, int* b)
{
int t;
t = *a; *a = *b; *b = t;
}
int ni(int a ,int b,int c )
{int d=0;int n[3]={a,b,c};
for(int z=0;z<=2;z++)
for (int f=0;f<=z;f++)
if ( n[z]<n[f])
d=d+1;
return(d);
}

最佳答案
输入的值的变量和输出的值的变量不一样。
全部回答
c里面要用&指向内存地址一下
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
FIFA西南区的帕托多少万?
瞌睡太多是什么原因?
谁知道穿越火线外挂怎么看出来?
蜈蚣是害虫还是益虫?
QQ农场浏览器下载不了!
大家看看这是什么鸟 急·详细信息 重谢!!!
蘑菇袋上有药味
怎么样炒菜不会让油炸到啊??
为什么我QQ三国点不了图标
Intel Core 2 Duo E 和 Intel Pentium E的 E
怎么样训练才能学好外语?
想要一首歌做彩铃!
《诛仙2》神武池
CSol里的背刀,杀一下多少滴血?
明月沙克1.67的镜片怎样?戴了会眼睛痛么?
推荐资讯
显示器有波纹
登记结婚需要什么证件
腮帮子挂钩疼
能不能用U盘下游戏在DVD上玩?
赛扬4 2.4G,奔腾3 1G,奔腾4 1.5G
有人会修数据问题的吗?
本人欲写一篇关于中国古代文化鉴赏的论文,请
多年以后在面对曾经爱过的人.我们应该怎样对
雪莲菌酸奶是什么东西
怎样做、才能样自己更快乐?
wow中什么是坚韧等级
喉咙吃什么日常食物可以好?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?