测试函数的参数调用:
请问:
如何编写一个程序证明函数对对其参数的调用顺序。如从左至右救还是从右到左,关键是证明。
问题点数:20、回复次数:4Top
1 楼alphagx(alpha)回复于 2001-11-11 19:40:40 得分 10
定义一个函数
void Test(int a,int b)
{
printf("%d %d",a,b);
}
在调用时,
int a=0;
Test(a,++a);
如果输出的结果是1,1表明是从左到右,
输出是0,1 表示从右到左
Top
2 楼cloudshadow1(小强)回复于 2001-11-11 20:15:16 得分 10
请看以下这个简单的函数片段:
//////////////////////////////////
int Proof(int a1, int a2)
{
return (a1+a2);
}
int i=5;
int m=Proof(i,++i);
最后的结果是m=12,而不是11。刚证明在WINDOWS操作系统中函数取参数的过程是从右至左的。Top
3 楼lanlijing()回复于 2001-11-11 20:48:23 得分 0
谢谢Top
4 楼lanlijing()回复于 2001-11-11 21:13:04 得分 0
但是,我又发现为什么用test(a,a++)输出为0,0?应该为1,0
Top




