#include<iostream>
using namespace std;
int *max(int a)
{
a=6;
return &a;
}
int main()
{
int a(5),*p;
p=max(a);
cout<<*p;
system("pause");
return 0;
}
这是一个简单的程序,输出结果是6,但是如果改成下面这样
#include<iostream>
using namespace std;
int *max(int a)
{
a=6;
return &a;
}
int main()
{
int a(5),*p;
p=max(a);
cout<<*p<<'\n';
system("pause");
return 0;
}
输出结果就变成10了,甚至改成下面
#include<iostream>
using namespace std;
int *max(int a)
{
a=6;
return &a;
}
int main()
{
int a(5),*p;
p=max(a);
cout<<a;
cout<<*p;
system("pause");
return 0;
}
p的结果又不正确了,请问这是为什么><