我想输出:1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 我的程序如下: # include<stdio.h> main() { int z[4][4],a,b; if(a==b) z[a][b]=1; else z[a][b]=0; for(a=0;a<4;a++) {for(b=0;b<4;b++) printf("% d",z[a][b]); printf("\n");} getch(); } 但运行结果却不对,请高手们分析一下,到底是那里错,或是数组应用的有问题;但我用自定义的函数,然后套用函数就可以正确输出来。
----------------解决方案--------------------------------------------------------
刚才不小心,要输出的格式如下:
1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1
----------------解决方案--------------------------------------------------------
新手请付劳务费,请付劳务费,请付劳务费
# include<stdio.h> main() { int z[4][4],a,b ; for(a=0;a<4;a++) { for(b=0;b<4;b++) { if(a==b)z[a][b]=1 ; else z[a][b]=0 ; printf("% d",z[a][b]); } printf("\n"); } getch(); }
----------------解决方案--------------------------------------------------------
为何我不能编辑自己的帖子呢?输出的格式正确如下: 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1
----------------解决方案--------------------------------------------------------
Thank you very much! 那为何我把 If语句放在前头就不行了,你能否给说明吧,再次谢谢!
----------------解决方案--------------------------------------------------------
对比一下!
main() { int z[4][4],a,b;
if(a==b) z[a][b]=1; else z[a][b]=0;//此时a,b为随机值,你并没有给a,b什么东东,这是错误一 //错误二,这个if放在这里,只运行一次,而你的想法是比较每一个Z[a][b],所以,得有个循环来改变a,b的值
for(a=0;a<4;a++) {for(b=0;b<4;b++) printf("% d",z[a][b]); printf("\n");} getch(); }
----------------解决方案--------------------------------------------------------
Thank you!
----------------解决方案--------------------------------------------------------