查看: 1011  |  回复: 12
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

duzongyin

银虫 (小有名气)

[求助] 请教

#include
main()
{
   int a;
   a=1;
   b=++a+ ++a+ ++a;
   printf("%d\n",b);
}
请教此输出结果是多少?并请教如何计算的...谢谢
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sudo

木虫 (正式写手)

★ ★
余泽成(金币+2): 鼓励讨论! 2012-03-11 23:26:11
引用回帖:
8楼: Originally posted by duzongyin at 2012-03-06 19:12:13:
谢谢 按理说是这样的,但是在编译器上不是这样..非常感谢...

这个题如果这么问才有意义

d = ++a+++b+++c

或者来这个

c = a+++++b

不符合标准的问题是没有意义的,undefined behavior的意思是编译器怎么做都有道理

上面的问题符合标准了,虽然仍然实际程序不会这么做,会使得程序可读性差
9楼2012-03-07 09:19:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 13 个回答

sudo

木虫 (正式写手)

★ ★
余泽成(金币+2): 谢谢参与应助! 2012-03-11 23:25:41
网上抄了一段,你可以去翻下标准确认下,嗯

"Between the previous and next sequence point an object shall have its stored value modified at most once by the evaluation of an expression. Furthermore, the prior value shall be accessed only to determine the value to be stored."

"This paragraph renders undefined statement expressions such as
i = ++i + 1;
a[i++] = i;
while allowing
i = i + 1;
a = i;"

简单地讲就是:同一个表达式如果多次改变同一个变量的值,行为未定义。你给出的是一个最典型的情况,因此,在不同编译器编译出来的结果,甚至是同一个编译器不同优化选项的编译结果,都可能得到不同的结果。

然后,如果面试被问到这个题,说出上面那段话应该就挺好的。如果是在试卷上看到,那么那个试卷可以扔进垃圾堆
2楼2012-03-05 17:16:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lurencyj

木虫 (著名写手)

★
余泽成(金币+1): 鼓励讨论! 2012-03-11 23:25:51
引用回帖:
2楼: Originally posted by sudo at 2012-03-05 17:16:29:
网上抄了一段,你可以去翻下标准确认下,嗯

"Between the previous and next sequence point an object shall have its stored value modified at most once by the evaluation of an expression. Furthe ...

恩,这个就好比编译器的方言,各地不同。
很女子很弓虽大
3楼2012-03-05 19:00:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

denganliang

银虫 (小有名气)

【答案】应助回帖

★
感谢参与,应助指数 +1
jjdg(金币+1): 感谢应助 2012-03-08 01:59:10
你变量b怎么没有声明啊!!!
欢迎大家访问我的网站:http://aizaoqi.com
4楼2012-03-06 09:16:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[硕博家园] 极限拉扯,如何抉择 +7 Isak0320 2026-10-12 10/500 2026-10-12 22:38 by 大飞鱼鱼鱼
[基金申请] 入职后第一次管课题组的专利缴费,对账才发现官费比别人多掏了一倍 +6 13108017953 2026-10-08 6/300 2026-10-12 20:07 by w3w3y3
[有机交流] OpenAI又攻克数学难题了,离AI做有机合成还有多远? +4 wangyl_123 2026-10-10 8/400 2026-10-12 18:09 by wangyl_123
[教师之家] 课题组会帮你通过考核么? +3 好运来~9527 2026-10-10 6/300 2026-10-12 14:55 by 简单化xn
[公派出国] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +5 qR2AdCWTVtkw 2026-10-09 9/450 2026-10-11 22:34 by XQNyDCa1Tk5n
[公派出国] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +5 qR2AdCWTVtkw 2026-10-09 10/500 2026-10-11 22:26 by XQNyDCa1Tk5n
[找工作] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +5 qR2AdCWTVtkw 2026-10-09 8/400 2026-10-11 22:26 by XQNyDCa1Tk5n
[考博] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +5 qR2AdCWTVtkw 2026-10-09 9/450 2026-10-11 22:15 by XQNyDCa1Tk5n
[考博] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 qR2AdCWTVtkw 2026-10-09 7/350 2026-10-11 22:11 by XQNyDCa1Tk5n
[教师之家] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 (EPI+-1)(金币-50) +5 qR2AdCWTVtkw 2026-10-09 10/500 2026-10-11 22:06 by XQNyDCa1Tk5n
[教师之家] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 (EPI+-1)(金币-50) +5 qR2AdCWTVtkw 2026-10-09 10/500 2026-10-11 14:25 by VOMexwnDzOFZ
[教师之家] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 (EPI+-1)(金币-50) +4 qR2AdCWTVtkw 2026-10-09 7/350 2026-10-11 14:05 by VOMexwnDzOFZ
[考研] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +5 qR2AdCWTVtkw 2026-10-09 8/400 2026-10-11 13:51 by VOMexwnDzOFZ
[硕博家园] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +5 qR2AdCWTVtkw 2026-10-09 8/400 2026-10-11 13:45 by VOMexwnDzOFZ
[找工作] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +3 qR2AdCWTVtkw 2026-10-09 7/350 2026-10-11 10:54 by VOMexwnDzOFZ
[找工作] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +4 qR2AdCWTVtkw 2026-10-09 7/350 2026-10-11 10:34 by VOMexwnDzOFZ
[考博] 招收博士生一名 +3 mandolin 2026-10-10 3/150 2026-10-11 10:21 by 不是山谷!
[公派出国] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +4 qR2AdCWTVtkw 2026-10-09 4/200 2026-10-11 03:14 by M0zrYVSAnxpE
[有机交流] 各位大佬,路线设计求助 +6 zapen 2026-10-08 8/400 2026-10-10 15:59 by zapen
[有机交流] 我应该选哪条合成路线让实验成功率高一些? +5 jing816y 2026-10-08 9/450 2026-10-10 09:05 by zapen
信息提示
请填处理意见