c语言中 a=10,b=20,!a<b得值为?
2个回答
展开全部
!a < b 的值为 1 。
!a :其中 ! 是逻辑非运算符,是把其右边的操作数进行真假转换。
如果操作数 a 是非零值,那么 !a 的结果为 0 ,如果操作数 a 是 0 ,那么 !a 的结果为 1 。
就是说 !a 的结果只有两个,要么为 1, 要么为 0 。
涉及到的知识点:
非零值为真,零值为假。
真的值为 1 ,假的值为 0 。
在C语言中,有如下语句:
int a = 10, b = 20;
!a < b 的运算过程:
因为 ! 运算符比 < 运算符的优先级要高,所以先算 !a 的结果。a = 10,10是一个非零值(为真),那么 !a 的结果为 0 。
此时 !a < b 变成了 0 < b,即 0 < 20,结果为 1(真)。
其实,如果熟练之后,根本不需要看 !a 的结果,因为其结果不是 1 就是 0,都会小于 20。
当然也可以把代码运行起来看看输出结果,如下图:
下面是源码,可以执行测试:
#include <stdio.h>
int main()
{
int a = 10, b = 20;
printf("!a的结果为:%d\n", !a);
printf("!a < b的结果为:%d\n", !a < b);
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询