#include <stdio.h>
void main()
{
int x=2;
while(x--);
printf("%d\n",x);
}
结果为什么是-1呢???
按道理在为0的时候跳出了 啊!
while(!(--x));
等效于
while(--x==0);
即x自减一,判断减一后的值是否等于0,若等于0,则继续循环,否则推出;
--x的意思是x=x-1;!是逻辑非运算,!(--x)是循环条件while(!(--x));
表示当x=x-1运算后,如果x=0那么因为非运算,那么x不等于0,循环继续;
如果x=x-1运算后,如果x不等于0,则!(--x)=0,结束循环。
扩展资料
C语言中while循环
#include<stdio.h>
intmain()
{
intx=1;//定义变量x,初始值为1
while(x<=4)//循环条件
{
printf("x=%d\n",x);//条件成立,打印x的值
x++;//x进行自增
}
return0;
}