野火电子论坛

标题: 【每日一题讲解】++的用法及入栈顺序 [打印本页]

作者: 山外メ雲ジ    时间: 2013-12-5 00:24
标题: 【每日一题讲解】++的用法及入栈顺序
  1. int a=0,b=0;
  2. printf("%d,%d,%d",a++,++b,a+b);
  3. 求打印结果

  4. A.0,1,0
  5. B.0,1,2
  6. C.1,0,0
  7. D.1,0,2

复制代码
请回答问题后再看答案哦,否则 每日一题 就没有意义了。
答错的,讲一下 为什么 会答错 呗!答案与讲解 回复后即可看到






作者: ♂落翼    时间: 2013-12-5 08:58
认真学习真棒!!非常感谢
作者: ♂荻夜    时间: 2013-12-5 09:02
Printf的入栈(右往左)和出栈(左往右)
作者: 堕落天使    时间: 2013-12-5 09:06
a真棒!!非常感谢
作者: 一般BDN    时间: 2013-12-5 11:54
应该从后向前算,不知道对不对
作者: Frog_Man    时间: 2013-12-5 13:01
比妹子还漂亮,赞一个
作者: always    时间: 2013-12-5 20:29
b被劈到了,非一般的雷人
作者: always    时间: 2013-12-5 20:33
我认为是a,但是我用visual c++把上面的代码运行了输出的是0,1,2.谁能解答一下?
作者: always    时间: 2013-12-5 20:36
坐等解答啊。我用visual c++把上面的代码运行了输出的是0,1,2.谁能解答一下?
作者: LIEYING    时间: 2013-12-5 20:41
真棒!!非常感谢
作者: 山外メ雲ジ    时间: 2013-12-5 20:44
always 发表于 2013-12-5 20:33
我认为是a,但是我用visual c++把上面的代码运行了输出的是0,1,2.谁能解答一下?

你用的是什么版本的?我用 VC 6.0 ,打印结果为 0,1,0


作者: always    时间: 2013-12-5 20:45
我用visual c++把上面的代码运行了输出的是0,1,2。
谁能解答一下?很困扰的
作者: always    时间: 2013-12-5 20:46
为什么我用visual c++把上面的代码运行了输出的是0,1,2?
作者: STC89C52    时间: 2013-12-5 21:47
真棒!!非常感谢
作者: 在路上    时间: 2013-12-6 08:36
走过路过,不能错过
作者: always    时间: 2013-12-6 09:23
山外メ雲ジ 发表于 2013-12-5 20:44
你用的是什么版本的?我用 VC 6.0 ,打印结果为 0,1,0

我用的是visual c++ 2010,运行结果一直是0,1,2
作者: 小小单片机0    时间: 2013-12-6 09:46
真棒!!非常感谢
作者: Waiting    时间: 2013-12-6 10:22
真棒!!非常感谢
作者: 单身男人    时间: 2013-12-6 11:24
真棒!!非常感谢
作者: 飞鸿印雪    时间: 2013-12-6 12:36
抢沙发~我来顶楼主的
作者: 7318    时间: 2013-12-6 15:37
真棒!!非常感谢
作者: desire    时间: 2013-12-6 20:40
答案是B。。。。。。
作者: 火弟    时间: 2013-12-7 09:55
走过路过,不能错过
作者: 似水流年、    时间: 2013-12-7 18:57
A走过路过,不能错过
作者: 洗脚水    时间: 2013-12-7 19:39
学习了..真棒!!非常感谢
作者: 人二2    时间: 2013-12-8 13:22
我咋看着是B
作者: 不良    时间: 2013-12-8 16:04
B - -! 看看答案
作者: 东风永恒    时间: 2013-12-10 18:04
真棒!!非常感谢
作者: sarjet    时间: 2013-12-13 13:51
b............
作者: 詹伟彬    时间: 2013-12-15 21:52
A 或 B,跟顺序有关,可能从左到右,或从右到左
作者: zxchen    时间: 2013-12-25 16:53
像A 又像 B
作者: 爱神风玲-★    时间: 2013-12-26 15:04
A抢沙发~给哥们顶一个
作者: jackdu    时间: 2013-12-26 19:51
走过路过,不能错过
作者: jackdu    时间: 2013-12-26 19:51
走过路过,不能错过
作者: jackdu    时间: 2013-12-26 19:51
走过路过,不能错过
作者: H.M.S    时间: 2014-1-3 21:39
选择B
看结果。
作者: H.M.S    时间: 2014-1-3 21:40
选择B
看结果。
作者: inhobbk    时间: 2014-1-5 21:10
对楼猪只能说,你太伟大了!!

作者: www12www    时间: 2014-1-7 08:51
学习。。。。。。。。。。。。。。
作者: Wangyan    时间: 2014-1-7 10:07
入栈顺序从右往左
作者: michael    时间: 2014-1-7 10:39
答案为B 0 1 2
作者: ajungle    时间: 2014-1-8 17:36
bbbbbbbbbbbbbbbbbbbbb
作者: flr    时间: 2014-1-15 09:07
我觉得答案是B

作者: flr    时间: 2014-1-15 09:16
原来和printf的入栈顺序有关,万万没想到
作者: ahuzjh01    时间: 2014-1-15 09:54
always 发表于 2013-12-5 20:36
坐等解答啊。我用visual c++把上面的代码运行了输出的是0,1,2.谁能解答一下?

visual c++2010可能是对这个printf()进行了优化,默认是从左往右的情况。有时候这个微软的优化过于自我了。貌似还有一个优化和标准GCC有冲突,突然记不起来了。
作者: 游在云间    时间: 2014-1-15 21:39
我好想算错了
作者: jerry_sun    时间: 2014-1-17 12:57
此题的答案选A
作者: 浪花    时间: 2014-1-18 16:09
难道不是B吗
作者: wudax    时间: 2014-1-21 11:55
认真学习真棒!!非常感谢

作者: jeffrey    时间: 2014-1-21 13:27
答案:B笑坏我的肚子了
作者: 猪猪lzy    时间: 2014-1-22 18:12
A抢沙发~给哥们顶一个抢沙发~给哥们顶一个抢沙发~给哥们顶一个抢沙发~给哥们顶一个抢沙发~给哥们顶一个
作者: happiness9670    时间: 2014-1-24 14:24
抢沙发~给哥们顶一个抢沙发~给哥们顶一个强烈支持,非常感谢哥们
作者: yinhao    时间: 2014-1-24 16:02
是A吧,   如果有0 1 1我会选011哦
作者: 坚持    时间: 2014-2-14 17:06
D。a++是用了再加
作者: wenjue    时间: 2014-2-15 13:58
BBBBBBBBBB
作者: yjj    时间: 2014-2-15 20:54
2 学习知识了
作者: 箫剑酒仙    时间: 2014-2-15 21:12
A,,,看看,,,,
作者: 玄冰    时间: 2014-2-16 17:18
B走过路过,不能错过
作者: zizhou    时间: 2014-2-16 22:17
a !!!!强烈支持,非常感谢哥们
作者: xzx0330    时间: 2014-3-4 13:30
不是0,1,2????
作者: 咸草    时间: 2014-3-4 15:26
分析结果:a
作者: seleon    时间: 2014-3-4 17:12
打印出来应该是A
作者: paul_he    时间: 2014-3-6 12:17
不会是B吧

作者: 真实的谎言    时间: 2014-3-9 14:26
a强烈支持,非常感谢哥们
作者: BEAT    时间: 2014-3-10 20:40
答案是D吗?

作者: Smile    时间: 2014-3-11 20:09
根据目测,,,本题答案B
作者: deanxuxi    时间: 2014-3-25 20:20
向山外哥学习
作者: seveth    时间: 2014-3-25 22:03
b走过路过,不能错过
作者: 张永明    时间: 2014-3-26 11:02
帅呆了,赞一个   我选择  B
作者: 张永明    时间: 2014-3-26 11:27
张永明 发表于 2014-3-26 11:02
帅呆了,赞一个   我选择  B

天哪,学习了,可惜选错了
作者: lyp521    时间: 2014-3-26 11:38
0,1,2对不对
作者: maihefen    时间: 2014-3-27 20:31
跟山歌学习
作者: kindlyde    时间: 2014-3-27 21:31
A;;;;;;;;;;;;;;走过路过,不能错过
作者: redsky    时间: 2014-3-28 19:13
答案是b ++i先加 i++后加
作者: redsky    时间: 2014-3-28 19:13
答案是b ++i先加 i++后加
作者: a1129584    时间: 2014-3-30 20:01
笑坏我的肚子了走过路过,不能错过
作者: 帅到被人砍    时间: 2014-3-30 23:07
A抢沙发~给哥们顶一个
作者: music    时间: 2014-4-5 14:33
0,1,2 选 B  应该做对了吧
作者: music    时间: 2014-4-5 14:39
原来是printf 入栈 顺序 右结合(之前有点印象,不过做题的时候就忘了),看来还要亲自实现下才能记得住啊
作者: dragon    时间: 2014-4-5 22:41
B,先加和后加的区别
作者: zj20115659    时间: 2014-4-11 10:37
抢沙发~给哥们顶一个抢沙发~给哥们顶一个
作者: 菲翔    时间: 2014-4-11 22:21
走过路过,不能错过
作者: performfh    时间: 2014-4-13 22:09
选择b选项0.1.2
作者: 明明白白    时间: 2014-4-22 21:06
在前先加后用,在后先用后加!选B了啦1
作者: 明明白白    时间: 2014-4-22 21:09
入栈顺序搞错,表示没有研究过可变参数!
作者: slwope    时间: 2014-4-23 14:59
运行结果 A
作者: huazhb2014    时间: 2014-4-23 22:02
B,a先输出再++,b++再输出
作者: yehuovip    时间: 2014-4-25 12:29
0.1.2,不太懂入栈顺序

作者: gzy0506    时间: 2014-4-27 21:04
学习学习学习学习学习
作者: sdtclyz    时间: 2014-4-29 09:44
b 强烈支持,非常感谢哥们
作者: 寻,路者    时间: 2014-4-29 15:25
bbbbbbbbb强烈支持,非常感谢哥们
作者: 林小鱼275    时间: 2014-5-1 13:20
学习一下 记录
作者: 林小鱼275    时间: 2014-5-1 13:20
学习一下 记录
作者: xiaoshuo    时间: 2014-5-11 22:41
0,1,0强烈支持,非常感谢哥们
作者: oppeuro    时间: 2014-5-16 16:21
抢沙发~给哥们顶一个 bbbbbb
作者: baishiyi    时间: 2014-5-17 17:43
bufnweknknh
作者: hahass    时间: 2014-5-18 00:23
oo走过路过,不能错过
作者: 又没吃饭    时间: 2014-5-18 09:28
我记得printf是从后面到前面计算的,是不是010
作者: 2012.6.17.23    时间: 2014-5-18 09:45
BBBBBBBBBBBBBBBBB
作者: 2012.6.17.23    时间: 2014-5-18 09:45
BBBBBBBBBBBBBBBBB笑坏我的肚子了笑坏我的肚子了




欢迎光临 野火电子论坛 (https://www.firebbs.cn/) Powered by Discuz! X3.4