下列程序的执行结果是()。 #include main() {inta,b,c; a=b=2; c=(a++)-1;printf("%d,%d

13 查阅

下列程序的执行结果是( )。

#include<stdio.h>

main()

{ inta,b,c;

a=b=2;

c=(a++)-1;printf("%d,%d",a,c) ;

c+=-a+++(++b) ;printf("%d,%d",a,c) ;

}

A.3,1 4,1

B.3,1 4,2

C.2,04,1

D.2,1 4,1

参考答案:

A解析:本题主要考查自加运算符(++、--)的使用。①前缀变量“++i、--i”,在使用i之前,先使i的值加1或者减1,再使用此时的表达式的值参与运算;②后缀变量“i++、i--”,先使用此时的表达式的值参与运算,在使用i之后,再使i的值加1或者减1。本题中计算表达式c=(a++)-1时先使用a的值进行计算,结果为c=2-1=1,然后将a的值加1,即执行完此语句后a的值是3;表达式c+=-a+++ (++b)等价于 c=c+(-a++)+(++b),c=1+(-3)+3=1,此时a=4,b=3。

计算机二级