#include <stdio.h>;
main()
{
int a=10;
a=a++ + ++a;
printf("%d",a);
}
这个程序输出的是多少,怎么解?谢谢帮助!
a++ + ++a
答案:4 悬赏:0 手机版
解决时间 2021-03-07 19:27
- 提问者网友:却不属于对方
- 2021-03-07 02:05
最佳答案
- 五星知识达人网友:不甚了了
- 2021-03-07 02:44
23,在自加运算中是从右到左的,a++ + ++a是先算++a=11 然后再算a++=11,然后再自加为22,但刚才a++没有实现自加,所以答案是23.
但搂住要是把题改为:
#include <stdio.h>;
main()
{
int a=10;
//a=a++ + ++a;
printf("%d",a++ + ++a);
}
答案就是22
但搂住要是把题改为:
#include <stdio.h>;
main()
{
int a=10;
//a=a++ + ++a;
printf("%d",a++ + ++a);
}
答案就是22
全部回答
- 1楼网友:从此江山别
- 2021-03-07 04:55
结果也是23,不过好像是从左向右就算吧,
先执行a++后, a就是11, 再++a, a就是12了,
最后 a = 11+12;
- 2楼网友:長槍戰八方
- 2021-03-07 04:34
结果是23
解释:从右向左计算,一开始++a等于11,然后a就等于11了,然后执行a++,变成12,最后11+12=23.
- 3楼网友:妄饮晩冬酒
- 2021-03-07 03:15
楼上的不对! a++是先用后加,++a是先加再用。
所以当a=1时,结果为:1+1+2+2=6
当a=2时,结果为:2+2+3+3=10
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯