增量递减的按位运算符
问题描述:
此C代码的输出是什么?增量递减的按位运算符
#include <stdio.h>
void main()
{
int a = 5, b = -7, c = 0, d;
d = ++a && ++b || ++c;
printf("\n%d%d%d%d", a, b, c, d);
}
的的answere是6 -6 0 1 我不知道如何为逻辑的优先级,比以上。
答
会发生什么是a
被1和b
使用++a, ++b
。 ++a && ++b
的结果为真(其等值1),这正是d
得到的结果。
,因为它读取true || ++c
它不检查的右手边,因为结果显然true
,这就是为什么çequlas 0
有没有位运算符在这里。 – harold