该表达式b = 5 << sizeof(a++);是未定义的行为。但这是c = a && b << --a;或 c = a || b << a++;也是一种未定义的行为吗?我认为这是未定义的行为,但我不确定。
b = 5 << sizeof(a++);
c = a && b << --a;
c = a || b << a++;
c side-effects undefined-behavior logical-or logical-and
c ×1
logical-and ×1
logical-or ×1
side-effects ×1
undefined-behavior ×1