编程论坛
注册
登录
编程论坛
→
C++教室
一道看似简单的加法。。
caizihao1
发布于 2014-05-05 19:17, 682 次点击
int c=1;
cout<<c++ + c++ + ++c + ++c;的结果
或者
int re(int a) {return a;}
cout<<re(c++)+re(c++)+re(++c)+re(++c);的结果
结果不同,求解惑。
6 回复
#2
yuccn
2014-05-05 20:34
不要纠结这样的题目,没有意思的。如果硬要占这样的牛角题目,那就看下反汇编吧
#3
rjsp
2014-05-06 08:55
都是未定义行为
第一个属于序列点内的副作用顺序未定义
第二个属于表达式内的求值顺序未定义
#4
wp231957
2014-05-06 09:04
我怀疑也许等级考试(或者学校的考试)会出这类题目的
#5
zklhp
2014-05-06 19:22
以下是引用
wp231957
在2014-5-6 09:04:46的发言:
我怀疑也许等级考试(或者学校的考试)会出这类题目的
我上过的编程课 老师说过类似的东西 但马上强调 不要纠结这种 考试也不会考这种
#6
caizihao1
2014-05-06 20:12
实际上我也是这么想的,只是某些时候娱乐下。
#7
canonly
2015-11-13 12:06
这样的程序不要用
1