请问第七题为什么不是输出k=4而是输出k=1?
我的分析是这样的:
k=(i=j)?(i=1):(i=i+j);这里,把j赋给了i,所以i就等于4,再把i=4赋给了k,所以k=4为非零,所以执行i=1,这样i就等于了1。所以最后是k=4而i=1。这样分析为什么不正确?(C语言小白)
if (i+j)这个true
(i=j=4)所以为真
所以k=i=1,也就是k=1
k=(i=j)?(i=1):(i=i+j)
注意,是i=j
不是i==j
,是成立的。所以执行k=i=1,k就是1
4+0=4为真 然后执行k=(i+j) 100=4不成立 三目运算 执行后面的 i+j 结果为4