65,179
社区成员




struct STR
{
int a;
char b;
};
STR f(int a, char b)
{
STR st;
st.a = a;
st.b = b;
return st;
}
int main()
{
STR st = f(1, 'a');
cout<<st.a<<endl;
cout<<st.b<<endl;
return 0;
}
为什么这样写,main里面的st可以得到正确的值啊?用1、'a'初始化f()里面的st的时候,f调用结束,里面的st不是会被自动销毁吗?