为什么x=!1返回值为0、x=!0返回值为1呢?
#include <stdio.h>
void main()
{
int x;
//分别单独进行运算
printf("%d\n", x==0);//0
printf("%d\n", x==1);//0
printf("%d\n", x=!1);//0
printf("%d\n", x=!0);//1
printf("%d\n",!(!x));//1
}
为什么x=!1返回值为0、x=!0返回值为1呢?
[解决办法]
非0 即真
x=!0返回值为1 即为true
x=!1非假即真 false
[解决办法]
骚年,你要闹哪样,首先x未定义
x=!1;//将!1赋值给x !1的值是0
x=!0://!0的值是1 赋值给x
//恐怕你是想写成下面这样吧
x!=1;//判断x是否等于1
x!=0;//判断x是否等于0
[解决办法]
不为零相当于true,0相当于false,再取反就是这样的结果了。