当前位置: 代码迷 >> C语言 >> [讨论]高手,请你进来,请进来!
  详细解决方案

[讨论]高手,请你进来,请进来!

热度:59   发布时间:2004-12-29 11:17:00.0
[讨论]高手,请你进来,请进来!

我想输出: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!
----------------解决方案--------------------------------------------------------
  相关解决方案