返回信息流☆─────────────────────────────────────☆
zam0336 (zam0336) 于 (Fri Aug 7 09:27:29 2009) 提到:
#include<iostream.h>
void main()
{
int m=3;
{
cout<<(m++)+(m++)+(m++)<<endl;
}
}
结果为什么是9而不是12,我用的是VC++6.0
谢谢
☆─────────────────────────────────────☆
wfzyl2007 (520YD工作室||北半球的企鹅) 于 (Fri Aug 7 09:33:49 2009) 提到:
m++
先用后加
【 在 zam0336 (zam0336) 的大作中提到: 】
: #include<iostream.h>
: void main()
: {
: ...................
☆─────────────────────────────────────☆
leg ([宅]|[从此低调]|[不再奢求]|[为啥]|[腿]) 于 (Fri Aug 7 09:41:54 2009) 提到:
难道(m++)+(m++)=6?
唔
【 在 wfzyl2007 (520YD工作室||北半球的企鹅) 的大作中提到: 】
: m++
: 先用后加
☆─────────────────────────────────────☆
jc65618 (EE不舍|爱我中华) 于 (Fri Aug 7 09:58:15 2009) 提到:
【 在 wfzyl2007 的大作中提到: 】
: m++
: 先用后加
恩 lz可以这样理解。。。你现在一定认为M用了三次 对吧 所以才是12
但其实你想 只有打印了 才叫用了。。。其实你m是用了三次 但这三次都是在你出了这个计算结果以后才用的
你要是cout << m 的话 就是6
☆─────────────────────────────────────☆
jc65618 (EE不舍|爱我中华) 于 (Fri Aug 7 09:58:32 2009) 提到:
【 在 leg 的大作中提到: 】
: 难道(m++)+(m++)=6?
: 唔
必须的 呵呵
☆─────────────────────────────────────☆
yangxiao (木水年华) 于 (Fri Aug 7 10:44:34 2009) 提到:
这样啊。。我也以为是 12
☆─────────────────────────────────────☆
police (头像是mm|我不是) 于 (Fri Aug 7 10:59:40 2009) 提到:
++叫什么来的。。有个专业的说法。。。
就是说他是执行完一行才去执行的。。。
【 在 zam0336 (zam0336) 的大作中提到: 】
: #include<iostream.h>
: void main()
: {
: ...................
☆─────────────────────────────────────☆
wan751 (Core) 于 (Fri Aug 7 11:16:40 2009) 提到:
这种编程风格,我觉得除了用来专门考人或者对这门语言作深入研究外,没有任何必要。
☆─────────────────────────────────────☆
jc65618 (EE不舍|爱我中华) 于 (Fri Aug 7 14:54:28 2009) 提到:
【 在 police 的大作中提到: 】
: ++叫什么来的。。有个专业的说法。。。
: 就是说他是执行完一行才去执行的。。。
精辟
☆─────────────────────────────────────☆
mstchief (Tsubame) 于 (Fri Aug 7 18:22:10 2009) 提到:
原来输出完后才会自增啊
以前倒是没注意这个问题。。。受教了
☆─────────────────────────────────────☆
police (头像是mm|我不是) 于 (Fri Aug 7 19:25:17 2009) 提到:
我怎么觉得像++这种东西反倒是用得好能省很多事情呢。。。
【 在 wan751 (Core) 的大作中提到: 】
: 这种编程风格,我觉得除了用来专门考人或者对这门语言作深入研究外,没有任何必要。
☆─────────────────────────────────────☆
xiongQQ (真·熊秋秋|假·能扣扣) 于 (Fri Aug 7 19:29:44 2009) 提到:
你单纯的用i++这种当然没事
你要是在程序里面到处用 k= (i++)+(++j) 这种的
不是找拍么
= =||
【 在 police (头像是mm|我不是) 的大作中提到: 】
: 我怎么觉得像++这种东西反倒是用得好能省很多事情呢。。。
☆─────────────────────────────────────☆
police (头像是mm|我不是) 于 (Fri Aug 7 19:30:27 2009) 提到:
这种人要不就是大牛要不就是sb。。。
【 在 xiongQQ (真·熊秋秋|假·能扣扣) 的大作中提到: 】
: 你单纯的用i++这种当然没事
: 你要是在程序里面到处用 k= (i++)+(++j) 这种的
: 不是找拍么
: ...................
☆─────────────────────────────────────☆
jc65618 (EE不舍|爱我中华) 于 (Fri Aug 7 20:38:41 2009) 提到:
【 在 xiongQQ 的大作中提到: 】
: 你单纯的用i++这种当然没事
: 你要是在程序里面到处用 k= (i++)+(++j) 这种的
: 不是找拍么
: ...................
哈哈
☆─────────────────────────────────────☆
leg ([宅]|[从此低调]|[不再奢求]|[为啥]|[腿]) 于 (Fri Aug 7 21:22:11 2009) 提到:
绝对是后者
【 在 police (头像是mm|我不是) 的大作中提到: 】
: 这种人要不就是大牛要不就是sb。。。
☆─────────────────────────────────────☆
X867 (不容错过) 于 (Fri Aug 7 22:29:34 2009) 提到:
好像笔试喜欢考这些细枝末节的啊
☆─────────────────────────────────────☆
wyq (梦幻西游Oibyr♀紫@刷天下|[路]偏将军福晋) 于 (Sat Aug 8 02:25:46 2009) 提到:
唔。。。
【 在 mstchief (Tsubame) 的大作中提到: 】
: 原来输出完后才会自增啊
: 以前倒是没注意这个问题。。。受教了
☆─────────────────────────────────────☆
wyq (梦幻西游Oibyr♀紫@刷天下|[路]偏将军福晋) 于 (Sat Aug 8 02:26:36 2009) 提到:
基本后者居多,,哈哈
【 在 police (头像是mm|我不是) 的大作中提到: 】
: 这种人要不就是大牛要不就是sb。。。
☆─────────────────────────────────────☆
zhang (甜瓜) 于 (Sat Aug 8 08:45:25 2009) 提到:
但是这个(m++)+(m++)+(m++)的确与编译器有关。
在VC 6.0下,的确是3+3+3 = 9.但是运行后m = 6;
但是在其他有的编译器下,是3+4+5 = 12.
☆─────────────────────────────────────☆
jc65618 (EE不舍|爱我中华) 于 (Sat Aug 8 09:39:11 2009) 提到:
【 在 zhang 的大作中提到: 】
: 但是这个(m++)+(m++)+(m++)的确与编译器有关。
: 在VC 6.0下,的确是3+3+3 = 9.但是运行后m = 6;
: 但是在其他有的编译器下,是3+4+5 = 12.
一些老的编译器 比如TURBO 就是 12 貌似
☆─────────────────────────────────────☆
whctiger (努力工作) 于 (Sat Aug 8 09:47:38 2009) 提到:
编辑器不同 值不同 还有语言不同 值也不同 例如java
☆─────────────────────────────────────☆
lst (新的开始) 于 (Sat Aug 8 12:55:12 2009) 提到:
【 在 whctiger 的大作中提到: 】
: 编辑器不同 值不同 还有语言不同 值也不同 例如java
为什么不整个统一的标准呢
☆─────────────────────────────────────☆
lxin (C'est La Vie) 于 (Sat Aug 8 13:09:37 2009) 提到:
所以cpp版就不让讨论这类问题。。。
【 在 zhang (甜瓜) 的大作中提到: 】
: 但是这个(m++)+(m++)+(m++)的确与编译器有关。
: 在VC 6.0下,的确是3+3+3 = 9.但是运行后m = 6;
: 但是在其他有的编译器下,是3+4+5 = 12.
: ...................
☆─────────────────────────────────────☆
leg ([宅]|[从此低调]|[不再奢求]|[为啥]|[腿]) 于 (Sat Aug 8 13:12:00 2009) 提到:
是说我该合集了么。。
【 在 lxin (C'est La Vie) 的大作中提到: 】
: 所以cpp版就不让讨论这类问题。。。
☆─────────────────────────────────────☆
lxin (C'est La Vie) 于 (Sat Aug 8 13:45:37 2009) 提到:
可以哇
反正都有结果了
而且,相关问题可以打发去cpp版嘛……
哈哈
【 在 leg ([宅]|[从此低调]|[不再奢求]|[为啥]|[腿]) 的大作中提到: 】
: 是说我该合集了么。。
☆─────────────────────────────────────☆
lxin (C'est La Vie) 于 (Sat Aug 8 13:46:23 2009) 提到:
rob一下cpp置顶
09 i=(++i)*(++i)的值是多少
和编译器相关,编码推荐不使用这种风格的表达式,愿意研究的请自行研究,本版不讨
论。
另:同一变量在一个表达式中两次作为左值出现时,表达式的值不确定。比如,(i++)
+(i++),i=i++
【 在 lxin (C'est La Vie) 的大作中提到: 】
: 可以哇
: 反正都有结果了
: 而且,相关问题可以打发去cpp版嘛……
: ...................
☆─────────────────────────────────────☆
sl (sl) 于 (Sat Aug 8 14:02:01 2009) 提到:
re.
【 在 zhang (甜瓜) 的大作中提到: 】
: 但是这个(m++)+(m++)+(m++)的确与编译器有关。
: 在VC 6.0下,的确是3+3+3 = 9.但是运行后m = 6;
: 但是在其他有的编译器下,是3+4+5 = 12.
: ...................
☆─────────────────────────────────────☆
yonklee (BUPT_EE) 于 (Sat Aug 8 15:48:50 2009) 提到:
不同编译器的执行顺序不一样,你用dev c++就不是这个了,没有必要追究这个,写代码也不要写成这种风格的,很糟糕
这是一条镜像帖。来源:北邮人论坛 / study-share / #72009同步于 2009/8/8
该镜像源已超过 30 天没有更新,可能在源站已被删除。
StudyShare机器人发帖
[合集] 菜鸟询问C++
leg
2009/8/8镜像同步0 回复
订阅后,新回复会通过你的通知中心匿名送达。
0 条回复
暂无回复 · 你可以订阅本帖等待新回复。