gpt4 book ai didi

c - 运算符的真假

转载 作者:太空宇宙 更新时间:2023-11-04 00:56:40 24 4
gpt4 key购买 nike

我又来了...很抱歉问了一些愚蠢的问题,但我是初学者,我真的很想学习编码..所以我有一个问题要意识到为什么这些总是正确的?它与运算符有关,或者 C 行为未定义。 ?

   int x;
int b;
b = 1 < x < 10;
printf("%d%d",b);
    char c = 'z';
(c==' ') || (c='\t') || (c=='\n');
printf("%c",c);

为什么那些总是正确的?是因为 ASCII 码还是什么?

最佳答案

常量10与 bool 表达式比较的结果总是为真

可以看到here C运算符优先级表可以这样读:

b = ((1 < x) < 10);

因为在 C 等语言中,关系运算符返回整数 0 或 1,其中 0 代表假,任何非零值都代表真。

所以b中存储的值为1(真)

还有:

你没有初始化 x,它应该有垃圾信息(可能 != false)

在您的第二个代码中,您分配而不是比较,(c='\t') 这是故意的吗?这就是它打印“制表符”的原因。

关于c - 运算符的真假,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58635508/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com