//hello.c
#include <stdio.h>
int main(void)
{
if(0 < 2&1)
printf("hello\n");
else
printf("world\n");
return 0;
}
请问这个程序运行的结果是什么呢?
分析:
如果0 < 2&1相当于0 < (2&1),那么程序输出world。
如果0 < 2&1相当于(0<2) & 1,那么程序输出hello。
通过查优先级表,我们会发现<的优先级高于&的优先级,于是程序输出hello。
但是,如果不使用优先级表,我们是否有更好的技巧知道答案呢?
使用gcc工具,我们可以马上知道答案。
编译:gcc hello.c -o hello
运行:./hello
输出:hello
呵呵,这也是一种技巧哦。