问题
单项选择题
下面程序段执行结果是( )。
int i=5,k;
k=(++i)+(++i)+(i++);
printf("%d,%d",k,i);
A.24,8
B.21,8
C.21,7
D.24,7
答案
参考答案:B
解析: k=(++i)+(++i)+(i++)表达式中,“++”号在i前面的有两个,所以在计算k之前,i要先增两次,即i变为7,然后再将3个7相加,使k得21;表达式中“++”号在i后面的有1个,所以得出k的值以后i又增1次变为8。