问题:
[单选] 下列程序的执行结果是( )。#include<stdio.h>
main()
{ int a,b,C;
a=b=2,C=1:
c=(a4-+)-1;printf(”%d,%d”,a,c);
c+=-a+++4-(++b);printf(”%d,%d”.a。c);
A . 3,14,1
B . 3,14,2
C . 2,04,1
D . 2,14,1
参考答案:A
参考解析:
A。【解析】本题主要考查自加减运算符(++,一一)的使用。①如果作为前缀变量“++a,--a”,在使用a之前,先使a的值加1或者减1,再使用表达式的值参与运算;②后缀变量“a++,a--”,先使用表达式的值参与运算,在使用a之后,再使i的值加1或者减1。在本题中计算表达式c一(a++)-l时先使用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。