c语言(c==3)‖(d=-1)逻辑值

Python021

c语言(c==3)‖(d=-1)逻辑值,第1张

d=-1,-1 非0,逻辑运算中,非 0 就是真;

而逻辑或(||)运算,只要 有一个条件为真,结果就为真;不管 c 是什么,结果都是真;

但,逻辑 或 (||) 运算 执行 左结合(左边先计算)标准,如果左边(c==3)为真(即c=3),那么右边将不在执行,也就是说,当c=3时,不执行 d=-1;

条件判断有一个短路特性,为了提高性能。比如a&&b,如果a的值为假,那么表达式直接为假,b也不执行了然后a||b,如果a的值为真,那么表达式直接为真,b也不执行了看你的题,得知b++运行了,b此时等于3 又b!=2为真,所以c--!=3没有执行。所以c等于3