#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/

10-12 16:09