问题
单项选择题
有以下程序:
main()
int m=12, n=34;
printf("%d%d", m++, ++n);
printtf("%d%d\n", n++, ++m);
程序运行后的输出结果是( )。
A.12353514
B.12353513
C.12343514
D.12343513
答案
参考答案:A
解析: 本题考查的是自加运算符的运用。自加运算符有前缀和后缀两种不同的形式,对于变量本身来说,无论是前缀还是后缀其作用的效果都是相同的,使变量值增1。但作为表达式来说却有着不同的值,前缀时自增表达式的值是变量增1后的值,而后缀时自增表达式的值是变量增1前的值。本题程序开始定义了两个整型变量m和n,并分别初始化为12和34。第一条输出语句是按整型格式输出表达式m++和++n的值,根据前面所述,表达式m++的值为12,++n的值为35,所以第一次输出的字符串是“1235”,执行完后m和n的值都自增1,分别是13和35,第二条输出语句n++的值为35,++m的值为14,所以输出的字符串是3514。