问题详情

有以下程序 main() {int i=1,j=1,k=2; if((j++‖k++)&&i++) printf("%d,%d,%d ",i,j,k); } 执行后输出结果是


A、1,1,2

B、2,2,1

C、2,2,2

D、2,2,3

时间:2022-01-01 06:27 关键词:

答案解析

C
解析:首先计算if语句后面的表达式值,先计算运算符&&前面括号里的“||”运算。在“||”运算中先计算j++,值为1(j的值为2),为真,后面的k++将不再计算,k的值依旧为2。计算&&后面的表达式i++,值为1(i的值变为2)。整个表达式的值为真,所以执行后面的输出语句,最后输出的i、j和k的值为2、2和2。