| 查看: 782 | 回复: 12 | |||
[求助]
请教
|
|
#include main() { int a; a=1; b=++a+ ++a+ ++a; printf("%d\n",b); } 请教此输出结果是多少?并请教如何计算的...谢谢 |
» 猜你喜欢
投稿精细化工
已经有6人回复
博士读完未来一定会好吗
已经有36人回复
之前让一硕士生水了7个发明专利,现在这7个获批发明专利的维护费可从哪儿支出哈?
已经有10人回复
博士申请都是内定的吗?
已经有9人回复
心脉受损
已经有8人回复
读博
已经有5人回复
sudo
木虫 (正式写手)
- 程序强帖: 16
- 应助: 6 (幼儿园)
- 金币: 1297.6
- 散金: 1486
- 红花: 20
- 帖子: 588
- 在线: 641小时
- 虫号: 1211394
- 注册: 2011-02-24
- 性别: GG
- 专业: 文艺美学
★ ★
余泽成(金币+2): 谢谢参与应助! 2012-03-11 23:25:41
余泽成(金币+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
lurencyj
木虫 (著名写手)
- 应助: 159 (高中生)
- 金币: 2869.2
- 散金: 520
- 红花: 8
- 沙发: 10
- 帖子: 1244
- 在线: 148.3小时
- 虫号: 888093
- 注册: 2009-10-29
- 性别: GG
- 专业: 凝聚态物性I:结构、力学和

3楼2012-03-05 19:00:45

4楼2012-03-06 09:16:23
十年磨练
木虫 (正式写手)
- 应助: 8 (幼儿园)
- 金币: 6030.2
- 散金: 20
- 红花: 28
- 帖子: 711
- 在线: 444.9小时
- 虫号: 1428184
- 注册: 2011-10-05
- 性别: MM
- 专业: 原子和分子物理

5楼2012-03-06 13:27:11
6楼2012-03-06 19:10:06
7楼2012-03-06 19:11:00
8楼2012-03-06 19:12:13
sudo
木虫 (正式写手)
- 程序强帖: 16
- 应助: 6 (幼儿园)
- 金币: 1297.6
- 散金: 1486
- 红花: 20
- 帖子: 588
- 在线: 641小时
- 虫号: 1211394
- 注册: 2011-02-24
- 性别: GG
- 专业: 文艺美学
9楼2012-03-07 09:19:16
10楼2012-03-07 16:14:24













回复此楼