有以下程序 main() { int m=12,n=34; printf("%d%d",m++,++n); printf("%d%d\n",n++,++m); ) 程序运行后的输出结果是

admin2009-01-15  18

问题 有以下程序   main()    {        int  m=12,n=34;       printf("%d%d",m++,++n);       printf("%d%d\n",n++,++m);    )       程序运行后的输出结果是

选项 A、12353514
B、12353513
C、12343514
D、12343513

答案1

解析 本题考查的是自加运算符的运用。自加运算符有前缀和后缀两种不同的形式,对于变量本身来说,无论是前缀还是后缀其作用的效果都是相同的,使变量值增1。但作为表达式来说却有着不同的值,前缀时自增表达式的值是变量增1,后的值,而后缀时自增表达式的值是变量增1前的值。本题程序开始定义了两个整型变量m和n,并分别初始化为12和34.第一条输出语句是按整型格式输出表达式m++和++n的值,根据前面所述,表达式m++的值为12,++n的值为35,所以第一次输出的字符串是"1235",执行完后m和n的值都自增1,分别是13和35.接下来第二条输出语句也是按整型格式输出表达式n++和++m的值,分别是35和14,故最终的输出应该为“12353514”,所以,4个选项中选项A符合题意。
转载请注明原文地址:https://kaotiyun.com/show/JIXp777K
0

最新回复(0)