C语言中,下面叙述是否正确: 表达式!x等价于x!=1 这个是正确的,但我不明白是为什么

来源:百度知道 编辑:UC知道 时间:2024/09/28 07:40:12

表达式!x等价于x!=1 这个是 "不" 正确的

!x等价于x==0

同样
x 等价于 x !=0

因为c语言中,非0数代表bool假,0代表bool真

一个例子:
#include<stdio.h>
int main()
{
int x=0;

if(x==0)printf("x==0");
if(!x)printf("x==0");

x=7;

if(x!=0)printf("x!=0");
if(x)printf("x!=0");

return 0;
}

!用于逻辑判断,其结果只有0,1,!x结果0,可能你把它们用于条件判断是可以达到相同结果,但它们不等价

我也不明白