在打印' X'的地址和价值时在函数foo1和foo2中Y的地址和值,为什么它为两个函数显示相同的值?
#include <stdio.h
void foo1(int xval)
{
int x;
x = xval;
/* print the address and value of x here */
}
void foo2(int dummy)
{
int y;
/* print the address and value of y here */
}
int main()
{
foo1(7);
foo2(11);
return 0;
}
该计划的输出是
Address of X is: 65518
X的值是:7
Address of Y is: 65518
Y的值是:7
答案 0 :(得分:1)
这是因为它们是在堆栈上创建的,在每次函数调用后都会解开。所以他们 在相同的内存地址创建。