返回值--警告
代码如下:
struct Stu
{
char Name[20];
char ID[20];
int a;
};
char * GetStudentID(Stu stu)
{
/*
char *temp=stu.ID;
return temp;
*/
return stu.ID;
}
char * GetStudentName(Stu *stu)
{
return stu->Name;
}
int main()
{
Stu stu;
strcpy(stu.ID,"001");
strcpy(stu.Name,"name");
if(strcmp(GetStudentID(stu),"000")==0)
cout<<"yes"<<endl;
else
cout<<"no"<<endl;
return 0;
}
编译就会出现警告:[Warning] address of local variable 'stu' returned [-Wreturn-local-addr]
如果是红色部分为函数GetStudentID的实现部分,就没有警告;
为什么会出现这种情况;最好解释一下,谢谢!!