读书人

for语句和while语句后面有;的有关问题

发布时间: 2012-05-06 16:15:43 作者: rapoo

for语句和while语句后面有;的问题
如题,现在遇到了这样的问题。for和while本来是用来给出条件的,现在在它们后面加上了;代码如下

C/C++ code
int i=0;    while(i++ <= 2) ;        printf("%d", i);



C/C++ code
int a[4]={1,2,3,4}, i;for(i=1;i<4;i++);printf("%d",a[i]);



我和同学分析:第一个,当i>=2时循环终止,再加1,也就是输出3,但这是没有;的情形,现在这样的结果是4,没有头绪。
第二个分析是for只执行i++,到i=3时终止,所以执行完应该是4,而数组中不存在a[4]所以结果是随机的。实际运行结果是1638280(win7 x64,VC++6.0)。
希望大家帮忙解答。谢谢

[解决办法]
探讨


您好,谢谢回答,不过我问的是while和for语句后面有;的情形,您说的好像是正常的条件吧,还有您说的我没有明白。

读书人网 >C语言

热点推荐