#include<stdio.h>
main()
{
(5%5)?1:0&puts("fizz");
}
上面的代码按预期打印
fizz
但我不明白按位&
操作数如何与0&puts("fizz")
一起工作。背后的作用是什么这个表达式的价值是什么?有人请解释一下
最佳答案
(5%5)
被评估为0
这是错误的。
然后,整个语句的计算结果为0&puts("fizz");
为了评估这个值,值0
是按位的,返回值puts
只有通过执行打印fizz的函数才能找到。
结果(总是0
)被丢弃。
关于c - C按位运算符'&'使用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18590121/