c - 程序说明

标签 c

下周是我的考试,我们收到了一系列问题,我们需要从中提供有效的解决方案并解释给定的代码。我无法理解这段代码。附上代码。

    #include <stdio.h>
    int main()
    {     
      int a = 800, b = 100, c;     
        if(!a >= 400)         
       b = 500;     
         c = 900;      
       printf("b = %d c = %d\n", b, c);      
        return 0; 
    }

执行此题后的答案是 b=100 和 c=900。但我还没明白怎么办。

最佳答案

if(!a >= 400)

由于逻辑非 ! 具有更高的优先级,因此相当于 (!a) >= 400。左侧的计算结果为 0(因为 a 不为零,因此 !a0),使得整个表达式为 false。另请注意,代码缩进对编译器来说并不重要。

关于c - 程序说明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54613158/

相关文章:

python - 使用 ctypes 实现 union 的困惑

c - 使用 gprof 的奇怪分析输出

c - 如何使用 sem_trywait()?

c - 关于否定运算符对字节的行为

c - ATmega328p,定时器0中断

c - 在二叉搜索树中删除

c - Linux 中的文件锁定

c - 尝试递归匹配 2 个硬编码数组中的数字,无法进行超过 1 个成功循环

c - 如何为二进制文件和 ascii 文件定义 EOF

c - 如何用一个字符终止我的程序?