24小时热门版块排行榜    

查看: 1201  |  回复: 12

铭心刻骨

铜虫 (小有名气)

[求助] 结果为什么是11而不是10 已有3人参与

如题目,请过路的前辈指点一下结果为什么是11而不是10?

结果为什么是11而不是10
为什么是11不是10?.PNG
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

每天进步一点点,
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
回帖支持 ( 显示支持度最高的前 50 名 )

小晓得小明

新虫 (初入文坛)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
铭心刻骨: 金币+8, ★★★★★最佳答案 2014-09-15 20:35:22
在vc++6.o的编译环境中,先算前两个括号里的++,则a=2,后两个a分别为3,4,则答案a=2+2+3+4=11,而在vs中没有这个规则,则a为4,答案为4+4+4+4为16,希望对你有帮助。
6楼2014-09-13 17:15:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

清新俊逸

木虫 (正式写手)

引用回帖:
4楼: Originally posted by 刘畅的用户名 at 2014-09-13 12:37:20
我在linux 下编译的结果也是11,当(++a)a的个数分别为 1,2,3,4,5,6,7时,结果分别为1,4,7,11,16,22,29

窃以为,正规的程序就不应该这么写,会造成众多Bug,建议大学课堂上都教学生尽量不要用++--之类的东西。
我在linux下,
gcc、g++编译,结果11
icc、icpc编译,结果10
pgcc、pgc++、pgcpp编译,结果16

[ 发自手机版 http://muchong.com/3g ]
12楼2014-09-15 22:38:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

小晓得小明

新虫 (初入文坛)

我上机编译了,答案却是16,同求解,是不是编译环境不一样
2楼2014-09-13 11:50:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

铭心刻骨

铜虫 (小有名气)

引用回帖:
2楼: Originally posted by 小晓得小明 at 2014-09-13 11:50:13
我上机编译了,答案却是16,同求解,是不是编译环境不一样

我用的是VC++6.0,你用的是什么

[ 发自小木虫客户端 ]
每天进步一点点,
3楼2014-09-13 12:19:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

刘畅的用户名

木虫 (小有名气)

我在linux 下编译的结果也是11,当(++a)a的个数分别为 1,2,3,4,5,6,7时,结果分别为1,4,7,11,16,22,29

[ 发自小木虫客户端 ]
4楼2014-09-13 12:37:20
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

小晓得小明

新虫 (初入文坛)

引用回帖:
4楼: Originally posted by 刘畅的用户名 at 2014-09-13 12:37:20
我在linux 下编译的结果也是11,当(++a)a的个数分别为 1,2,3,4,5,6,7时,结果分别为1,4,7,11,16,22,29

我用的是vs

[ 发自小木虫客户端 ]
5楼2014-09-13 13:21:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

little虫虫

铁杆木虫 (小有名气)

【答案】应助回帖

感谢参与,应助指数 +1
引用回帖:
2楼: Originally posted by 小晓得小明 at 2014-09-13 11:50:13
我上机编译了,答案却是16,同求解,是不是编译环境不一样

不同的编译器对此实现的不同!该问题的答案不唯一。
7楼2014-09-13 19:38:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

fhh2626

木虫 (正式写手)

【答案】应助回帖

★ ★
感谢参与,应助指数 +1
铭心刻骨: 金币+2, ★★★很有帮助 2014-09-15 20:34:38
1、不要用VC++6.0
2、不要用C++编译器编译C程序
3、不要编译C标准中没有定义的语句(因为无法预知结果)
8楼2014-09-15 15:35:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

铭心刻骨

铜虫 (小有名气)

引用回帖:
8楼: Originally posted by fhh2626 at 2014-09-15 15:35:05
1、不要用VC++6.0
2、不要用C++编译器编译C程序
3、不要编译C标准中没有定义的语句(因为无法预知结果)

那什么是C标准中定义的语言呢?这个有明确规定吗?
每天进步一点点,
9楼2014-09-15 20:35:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

铭心刻骨

铜虫 (小有名气)

引用回帖:
6楼: Originally posted by 小晓得小明 at 2014-09-13 17:15:16
在vc++6.o的编译环境中,先算前两个括号里的++,则a=2,后两个a分别为3,4,则答案a=2+2+3+4=11,而在vs中没有这个规则,则a为4,答案为4+4+4+4为16,希望对你有帮助。

麻烦你在解释一下,先算前两个括号的++为什么第一个a是2呢?还有这个事C语言里的什么规则啊?
每天进步一点点,
10楼2014-09-15 20:42:20
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 铭心刻骨 的主题更新
信息提示
请填处理意见