先看第一条代码
#include<stdio.h>
int main()
{
int i=0;
do printf("%d,",i);while(i++);
printf("%d,",i);
getchar();
}
这个代码输出结果为0,1
再看第二条代码
#include<stdio.h>
int main()
{
int i=0;
do printf("%d,",i);while(++i);
printf("%d,",i);
getchar();
}
这条代码运行后执行无限循环
总结:第一条代码while(i++),是先判定i++为0,在i++被赋值为1,第二条代码是先执行++i,将i的值赋值为1,再判定while循环为true,结果是程序无限循环。