求助!一个关于返回指针的函数问题
#include<stdio.h>
int *getSalary(int base, int other)
{
int salary = base + other;
printf("Address of salary: %d\n", &salary);
return &salary;
}
int main()
{
int res;
res = *getSalary(2000, 300);
printf("res = %d\n", res);
return 0;
}
调用getSalary函数,返回salary的地址,接着取地址指的值,赋给res,为什么输出的结果不是2300呢?
[解决办法]
局部变量在函数返回的时候就已经完蛋了。