while(!x)的含义

while(!x)的含义
!x,就是非x,非0就是真,非其他数字就是假。就是当x为0才成立.
例1

int i = 0, x = 0;
 while (!x && i < 3)   
 {
  x++;
  i++;
 }
 printf("%d,%d", x, i)

第一次判断!x(即x!=0)为真,循环while里x++,x=1。
第二次判断!x(即x!=1)为假,跳出循环。

例2

int x = -1;
do
{
 x = x * x;
} while (!x);
printf("%d", x);

先循环后判断
循环完x=1,判断!x即x!=1为假所以直接跳出循环。

重点

!x,就是非x,非0就是真,非其他数字就是假。就是当x为0才成立.

你可能感兴趣的:(c语言,while,c语言)