读书人

为啥x=!1返回值为0、x=!0返回值为1呢

发布时间: 2013-08-04 18:26:16 作者: rapoo

为什么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,再取反就是这样的结果了。

读书人网 >C语言

热点推荐