怎么这个会有以为呢??? do while()是先执行do里的语句在判断的
#include<stdio.h>main(){int i=1,x=0,n;scanf("%d",&n);do{ x++; i++;}while(i!=n);/*如果输入为1<=n;出现程序死循环*/printf("%d",x);return 0;}
这里涉及到一个数据溢出的问题,你输入1到显示结果,程序已经循环了65536次了,因为int型在[-32768,32767]中,刚好x的值从0循环回到0.以上程序不管输入什么都不会构成死循环.