[讨论]堆栈问题!
# include "stdio.h"void f1(void){
int i,j;
i=ox12345678;
return;
}
void f2(void){
int m,n;
return m;
}
void main(){
int x;
f1();
m=f2();
printf("x=%x",x);
getch();
}
最后得到的是什么答案??
还有就是没有用到定义的变量.楼主是不是想测试局部变量和全局变量的作用范围
给你程序自己测试去.
# include "stdio.h"
void f1(void){
int i,j;
i=0x12345678;
printf("adress i:%x\n",&i);
printf("adress j:%x\n",&j);
printf("i=%x\n",i);
return ;
}
int f2(void){
int m,n;
printf("adress m:%x\n",&m);
printf("adress n:%x\n",&n);
printf("m=%x\n",m);
return m ;
}
void main(){
int m;
f1();
m=f2();
printf("m=%x\n",m);
}
i和m地址相同,j和n地址相同,但释放,在分配,里边的内容是不能保证的.(至少VC不行,TC2.0没有,自己测试去)