C语言的函数参数的入栈顺序
int i = o;
printf("%d,%d\n",++i,i++);//看先执行的是哪个,若为i++则为先从右边开始进栈,反之则反
这样测试并不怎么严密,压栈顺序和参数计算顺序不是一回事,所以还是看地址更有保证
于是改成这样
int fun(int x, int y, int z)
{
int m;
int n;
printf("x = [%X]/n",&x);
printf("y = [%X]/n",&y);
printf("m = [%X]/n",&m);
printf("n = [%X]/n",&n);
}
我们已知m先入栈然后再是n 那么这样就可以对比看了。到底是从右到左还是从左到右
我的gcc是右边到左边