【发布时间】:2021-05-08 04:23:24
【问题描述】:
我想问一个关于下面代码的问题。
int a=1, b=3, c=1;
if((a||c--)&&(c&&b--)) printf("%d",b);
printf("%d %d %d",a,b,c);
为什么代码打印的是“21 2 1”而不是“1 2 0”?
感谢您的帮助。
【问题讨论】:
-
哪一部分让您感到困惑,开头的附加数字还是 0?请解释您期望的结果背后的原因。
-
或使用衬衫电路评估
-
@MrTux 也许是裤子电路?
标签: c if-statement logical-or