
| 
 | 
|  | 作者: 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号