C语言中,while语句中如果有是 int y=10; while(--y);那么while中的判断条件是什么?
我的疑问是:--y可以写成是y=y-1;y=y;.这样就有了两个赋值表达式,那么到底是y=y-1做条件,还是y=y做条件呢?高手请解答下!
其他:while(--y)的意思是,因为你之前已经设了y=10,所以依次判断while(9)、while(8)、while(7)、while(6)、while(5)、while(4)、while(3)、while(2)、while(1)、while(0),只要括号里面的数字不为0,则表示判断条件为真,则while下面的循环体都会执行,while(0)表示判断条件为假,不执行循环体。
你的这个句子就相当于:
int y=9;
while(y>0)
{
循环体;
y--;
}/*这里写成y=9,是因为--y是先将y-1然后再取y的值*/
在C中,不为0的字母或者数字都表示真,即1,为0就表示假。 这里,先进行y = y-1,然后判断的条件就是 y != 0,也就是说,判断y自减1之后是否为0,不为0则为true,否则为false。
等价于
while(y){
//循环内容
--y; //循环的其它内容完成后,对y进行自减1
}
希望可以解决你的疑问~~
上一个:c语言 编程 数据结构
下一个:C语言数组的基础例题 二分法 为什么输入2,,6,3,8,0,19不行 而别的行