| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1305 人关注过本帖
标题:返回值--警告
取消只看楼主 加入收藏
九天冥盟
Rank: 2
等 级:论坛游民
威 望:1
帖 子:77
专家分:20
注 册:2015-7-14
结帖率:36%
收藏
 问题点数:0 回复次数:1 
返回值--警告

代码如下:
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的实现部分,就没有警告;
为什么会出现这种情况;最好解释一下,谢谢!!

搜索更多相关主题的帖子: 警告 Stu char Name return 
2018-05-12 17:22
九天冥盟
Rank: 2
等 级:论坛游民
威 望:1
帖 子:77
专家分:20
注 册:2015-7-14
收藏
得分:0 
回复 2楼 Jonny0201
不是GetStudentName函数所发出的警告
2018-05-14 14:05
快速回复:返回值--警告
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015479 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved