C+++++++++

来源:百度知道 编辑:UC知道 时间:2024/05/22 03:57:19
#include<stdio.h>
#include<string.h>
void main()
{int i=0;
do printf("%d,",i);
while(i++);
printf("%d\n",i);

}为什么答案是0,1。不会进入无限循环吗?

while(i++);

i++先返回0,再执行i++
while(i++)想当于
while(i)
{
i++;
}

do后面的先执行一次,然后while判断,此时,i=0,代表false,所以跳出循环,然后i++,i=1,再输出一次

请记住 i++和++i的区别:
1、i++是先用i的值,然后在自加;
2、++i是先对i进行自加,然后在用i的值
你只要知道这个相信你就不会对上面的问题疑惑了。

i++是先判断再加的
所以while中的i++反回0
再i=1了

因为你的do语句、while语句后面都加了分号。所以只执行一次,不会循环