关于一个小的问题,而看到的一个大的错误 这个数组为什么会出现乱码? /* Note:Your choice is C IDE */ #include "stdio.h" #define A putchar(10); void main() { int s[3][3],i,j; int k,y,max; printf("/n 开始输入:/n"); max=s[0][0]; for(i=0;i<3;i++) for(j=0;j<3;j++) scanf("%d",&s[i][j]); /* max=s[][] 的位置应该在这里*/ for(i=0;i<3;i++) { A for(j=0;j<3;j++) printf("%2d",s[i][j]); } A for(i=0;i<3;i++) for(j=0;j<3;j++) if(s[i][j]>max) { max=s[i][j]; k=i; y=j; }
printf(" the 最大值为is %d/n行值为is %d/n the 咧is %d/n",max,k,y);
} 这个程序貌似没有问题,你看恩,施舍这个为max但是,是错误的,会出来乱码,你知道我什么吗,,? 请看分析, 这个是因为这个max=s[0][0],的位置错误,你看,要是我在输入之前定义饿了这个max其实,在执行的时候了恩,这个max最后是不被赋值的,你可以分析一习啊,所以,这个max在下面的比较中其实是一个随机值,因为他没有定制,所以不可能被利用,所以在输出的时候了,回事乱码,恩,再就是同样,这个行号和列好也是同样的到这里, 所以当我以后遇到这个类的错误的时候了,额, ,我必须要好好的想想,可能是,定义错了,也可能是,定义出现了。问题,
|