C语言题目,SOS

来源:百度知道 编辑:UC知道 时间:2024/07/16 14:03:21
main()
{ int m=12,n=34;
printf("%d%d",m++,++n);
printf("%d%d\n",n++,++m);
}
程序运行后的输出结果是( )
A12353514 B12353513 C 12343514 D12343513

我是这样思考的,
第一个printf m++是m=m+1=13,++n=n+1=35
第二个printf n++是n=n+1=35,++m=m+1=13 所以我觉得应该是13353513
可没有这个答案,请问哪位能详细解释一下,谢谢了...

12353514 因为第一个m++输出 m是先用后加 所以输出还是12 而第一个++n是先加有用 所以是35 第二个 n++也是先用后加 加之前是35 所以输出也是35 而最后一个m 是先加后用 加之前是13 加之后是14 所以答案是A
(x++先用后加 ++x是先加后用)

M++表示M使用一次后做加法
++N表示使用前做加法
所以开始4个数是1235
后面依次就该是3513
B是对的

是A
M++是先输出,
++n是先加,在输出,
第二个n已经在第一步加一,输出数为35
第二个m已经在第一步加一,第二步再加一后输出,
所以选A