首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

函数参数执行顺序有关问题

2012-11-13 
函数参数执行顺序问题为什么C++函数执行的时候参数是从右到左执行的?我是学java的, 和java的顺序刚好相反

函数参数执行顺序问题
为什么C++函数执行的时候
参数是从右到左执行的?

我是学java的, 和java的顺序刚好相反
查个bug查了好久了

代码如下

C/C++ code
#include "stdafx.h"#include "string"int add1(int i) {    i++;    printf("%d\n",i);    return i;}int sum(int a,int b) {    return a+b;}int _tmain(int argc, _TCHAR* argv[]){    sum(add1(10), add1(20));    getchar();    return 0;}

输出
21
11

但是java是输出
11
21

[解决办法]
不确定 
不同编译器 可以有不同的处理方式
[解决办法]
未定义行为,编译器可以自由处理。
你可以先把两个 add1() 的返回值按照你需要的顺序放到两个临时变量里,然后调用 sum()

热点排行