这两个循环应该是一个意思,为什么输出的结果不一样呢 int i=0; while(i<10) { i++; printf("%d\n",i); }

int i=0;for(i=0;i<10;i++) { printf("%d\n",i); }

两个循环不是一个意思

第一个循环先判断i<10,满足条件后输出i,再++i,所以第一个输出是0,当i=10的时候循环终止,所以不再输出10了

第二个循环先判断i<10,在++i,在输出,当i=0时先++i,所以第一输出是1,当i=9时,循环继续,++i后输出,所以最后一个输出是10

如果这样写,二者才相同:

int i = 0;
while(i<10){
    printf("%d\n",i);
    ++i;
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-05-09
这两个循环根本就不是一个意思。
如果要第二个与第一个相同,应该改为:
while(i<10)
{
printf("%d\n",i);
i++;
}
这样第二个才和第一个相同,两者才是一个意思。本回答被提问者采纳
相似回答