关于函数调用的一个注意点
2010-06-13 20:09
302 查看
今天碰到这样一个问题,比如已知i=2,问调用函数fun(i,++i),其中实参的具体数值是多少?自己一开始以为是(2,2),但是经过查阅资料和自己的调试,发现应该是(3,3),这牵扯到函数调用时一个传值调用的顺序问题,实参的求值顺序因编译系统而异,有的是从右向左,有的是从左向右。附自己的测试小程序:
#include<iostream.h>
void fun(int,int);
int main(){
int i,j;
i=j=2;
fun(i,++i);
fun(j,j++);
cout<<i<<endl;
cout<<j<<endl;
return 0;
}
void fun(int i,int j)
{}
#include<iostream.h>
void fun(int,int);
int main(){
int i,j;
i=j=2;
fun(i,++i);
fun(j,j++);
cout<<i<<endl;
cout<<j<<endl;
return 0;
}
void fun(int i,int j)
{}
相关文章推荐
- 可变参数模拟printf()函数实现一个my_print()函数以及调用可变参数需注意的陷阱
- 关于c++多重继承下的函数调用注意的问题
- 关于C51的中断函数要注意的几个问题 -----中断中调用函数参数错误问题
- 关于C语言中函数调用和参数传递机制的探讨(二 .传递一个参数)
- 一个关于含有显式实参的虚函数调用问题解释
- 【廖雪峰 python教程 课后题 切片】利用切片操作,实现一个trim()函数,去除字符串首尾的空格,注意不要调用str的strip()方法:
- 关于cin.ignore()函数的一个需要注意的地方
- 关于函数调用的loop的一个问题
- C++关于参数为const引用类型的函数调用参数成员函数的一个问题
- 关于vs 2005的一个O2级别函数调用的一个编译器优化(我是汇编小白)
- 【廖雪峰 python教程 课后题 切片】利用切片操作,实现一个trim()函数,去除字符串首尾的空格,注意不要调用str的strip()方法:
- 关于函数调用及函数地址的一个例子
- 寒假第一次录一个小小的模拟慕课视频吧~<关于函数定义和调用>
- c++工程里一个文件怎么调用另外一个文件里的函数
- 关于回调函数和函数调用
- 汇编语言编程中遇到的一个跨文件函数调用问题
- Python-7 多继承函数调用注意点
- 关于C语言中函数调用和参数传递机制的探讨 (转)
- 关于List的一个小问题——remove()函数
- 关于C语言中函数调用和参数传递机制的探讨(ZZ)