四种方法判断栈的生长方向 Determine the Direction of Stack Growth (点击打开)
由该文章知道计算机中栈的生长方向为由高到低,及栈底为高地址,栈顶为低地址,因此函数输入参数入栈顺序可以由栈地址大小判断,地址大的先入栈,地址小的后入栈
#include<cstdio>
void Var_Order(int x, int y, int z)
{
printf("x = %d at [%X]\n", x, &x);
printf("y = %d at [%X]\n", y, &y);
printf("z = %d at [%X]\n", z, &z);
}
int main(int argc, char *argv[])
{
Var_Order(2012, 2013, 2014);
return 0;
}
/*************************
运行结果:
x = 2012 at [22FF10]
y = 2013 at [22FF14]
z = 2014 at [22FF