C 语言 —— debug(逻辑错误)

来源:互联网 发布:office替代软件 编辑:程序博客网 时间:2024/06/05 19:59

算符优先级

==号的优先级要大于&、|、^(位运算) 的优先级,所以如果判断一个数是否为偶数:

if (x & 1 == 0)                    // if (x & (1 == 0))                    // 是永远不会成立的
int main(int, char**){    if (2 & 1 == 0)        printf("(2 & 1) == 0\n");    else        printf("2 & (1 == 0)\n");    return 0;}
0 0