c语言中 a=10,b=20,!a<b得值为?

 我来答
DavidCai0316
2020-03-11 · TA获得超过974个赞
知道小有建树答主
回答量:311
采纳率:85%
帮助的人:106万
展开全部

!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;

}

cdyzxy
2020-03-11 · TA获得超过2.1万个赞
知道大有可为答主
回答量:1.4万
采纳率:85%
帮助的人:3720万
展开全部
a<b的结果是真
!a<b结果是(!真)=假
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式