落星辰_Xjy 发表于 2020-2-27 17:55:55

小甲鱼讲课 我有一个代码没看懂 能否帮我解释一下

#include <stdio.h>

int main(void)
{
    int a = 5, b = 3;

    printf("%d\n", !(a + b));
   
    return 0;
}




课程:P10关系运算符和逻辑运算符

!(5+3) 大于不等于0啊,那返回值应该是1。
为什么老师讲的时候 得出的值是 0 呢 ,我有点没搞懂这个题目
{:9_241:} 有没有吧友解释一下

qiuyouzhi 发表于 2020-2-27 17:58:02

因为5+3是8,不是0,所以就是True(1),而前面加上了一个感叹号(!)
所以结果要取反,也就是False(0)
如果有帮助,请设最佳答案{:10_254:}

SHRS23 发表于 2020-2-27 17:58:52

!是逻辑取反
5+3 非零 是逻辑真
取反是假
C语言用整数输出假就是0

落星辰_Xjy 发表于 2020-2-27 18:01:53

qiuyouzhi 发表于 2020-2-27 17:58
因为5+3是8,不是0,所以就是True(1),而前面加上了一个感叹号(!)
所以结果要取反,也就是False(0) ...

谢谢两位,怪我没有认真听课,s打扰你们了。

落星辰_Xjy 发表于 2020-2-27 18:02:48

SHRS23 发表于 2020-2-27 17:58
!是逻辑取反
5+3 非零 是逻辑真
取反是假


谢谢两位,怪我没有认真听课,打扰你们了。

qiuyouzhi 发表于 2020-2-27 18:04:34

落星辰_Xjy 发表于 2020-2-27 18:01
谢谢两位,怪我没有认真听课,s打扰你们了。

没事,谁刚学编程都这样
我以前还把endl当成end1呢
页: [1]
查看完整版本: 小甲鱼讲课 我有一个代码没看懂 能否帮我解释一下