c语言中while(!x)的含义

如题所述

第1个回答  2022-06-22
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才成立.

!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才成立.