下周是我的考试,我们收到了一系列问题,我们需要从中提供有效的解决方案并解释给定的代码。我无法理解这段代码。附上代码。
#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 不为零,因此 !a
为 0
),使得整个表达式为 false。另请注意,代码缩进对编译器来说并不重要。
关于c - 程序说明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54613158/