C语言,while(i)是什么意思,while(!i)是什么意思

如题所述

判断y=y-1的值是否等于x,如果不等于则执行循环体,如果等于则退出循环,判断之后,不管是否等于,都让x自加1(即x=x+1)。举个例子说明下吧,假如执行while语句前x的值为3,y的值为6:执行到while时,由于是x++,自加运算符++在x的后面,所以先取x的值3,即不等号!=左面的值为3,不等号右面的值为6-1=5,3不等于4,所以表达式x++!=(y-=1)的值为真,判断之后x的值自加1变为4,同时执行循环体;循环体执行完之后,再次判断,此时不等号左面的值为4,右面的为y=5-1=4,此时x++!=(y-=1)的值为假,判断之后x=4+1=5并退出循环。
希望能对你有点帮助!
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-01-02

whie是C语言中的关键字,代表循环。

while(i)和while(!i)的意思要看i这个变量(表达式)的值是真还是假(0和NULL就是假)。

while(1)和while(99)和while(-76)甚至while(3-100)这类只要括号中的值(或表达式的值)非0,意思一样,代表可以循环并执行循环体,如果是while(0),则代表不执行循环并跳过循环体。while(!9)这个表示对9这个表达式取反,9是真的,那么!9就是假的。

如下面这个例子,会循环执行10次循环体中的printf("i = %d", i),其中i的值会从10变成9、变成8直到0,当i的值变成0时停止循环,并跳过循环体,执行循环体下一个命令,也就是printf("end"):

int i = 10;
while(i)
{
    i--;
    printf("i = %d", i);
}
printf("end");

第2个回答  2019-01-02
while(i)表示循环执行条件是i不等于0,也就是只要i不等于0,就进入while循环。
而while(!i)恰恰相反,表示循环执行条件是i等于0,也就是只要i等于0,就进入while循环。本回答被提问者采纳
第3个回答  2018-01-04
while(1)就是个死循环,永远满足条件,永远循环,程序永远执行这一句。
因为看不见前面的代码不知道是不是do-while,应该是,否则程序不能执行后面的代码。
do-while语句,与while语句不同的是,while先判断,do-while先执行一次,再去判断。
第4个回答  2019-01-02

这个很简单

c++中有两个表示为'假':[0]和[false],其它都为'真'.

while(i)

就相当于(根据i的类型)

while(i!=0)

或者

while(i!=false)

[!]符号表示非,所以

while(!i)

表示

while(i==0)

或者

while(i==false)

相似回答