main() { int i=1,j=2,k=3; if(i++==1&&(++j==3||k++==3)) printf("%d %d %d\n",i,j,k);解析
展开全部
if(i++==1&&(++j==3||k++==3)) 先看 i ++== 1, 因为是++在后面,所以语句执行完才i才会变成2, 所以i++ == 1, true,。 后面++j==3||k++==3, ++j, ++ 在前面,所以执行的时候j就等于3了,而k++ ==3 是|| , 只要++j == 3 成立,他就立即返回了ture了, 所以k++ == 3不会执行,所以k 欲绝结束后也是3, 所以printf 的结果是 2, 3, 3
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询