|
![]() | 作者: cailman [cailman]
![]() |
登录 |
不明白为什么,谁懂,教教我好吗? 以下C语言程序, (1) 代码: 按我的意向,应该输出: 1 2 3 4 5 6 7 8 9 10 11 12 -------------------------------- 而实际上输出的是: 1 2 3 4 -------------------------------- 问题:为什么只循环了i=0,而没有循环"i=1"和"i=2"? 于是我修改了程序: (2) 代码: 没想到输出的依然是: 1 2 3 4 -------------------------------- 我再次修改程序: (3) 代码: 这一次终于输出: 1 2 3 4 5 6 7 8 9 10 11 12 -------------------------------- 问题2:程序(2)和程序(3)应该是一样的(因为i和j有赋初值"0"). 所以for语句的"表达式1"应该可以省略.为什么会出现输出不同的问题? |
地主 发表时间: 04-09-04 00:15 |
![]() | 回复: shuihun [shuihun] ![]() |
登录 |
main() {int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}},i=0,j=0; while(i<=2) { j=0; ~~~~~~循环一次J要清0,不然停留在3第一次循环结束就退出了 while(j<=3) {printf("%d ",a[i][j]); j++; } i++; } printf("\n--------------------------------\n"); } 第二个例子同理 |
B1层 发表时间: 04-09-04 01:56 |
![]() | 回复: windflower [windflower] ![]() |
登录 |
j每次需要清零,楼上己说明白。 |
B2层 发表时间: 04-09-04 18:30 |
![]() | 回复: cailman [cailman] ![]() |
登录 |
明白了,唉,初手,让大家见笑了![]() |
B3层 发表时间: 04-09-04 22:39 |
|
20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon
粤ICP备05087286号