| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1021 人关注过本帖
标题:菜鸟指教 关于 结构体返还函数的问题
只看楼主 加入收藏
heizhizhu007
Rank: 2
等 级:论坛游民
帖 子:50
专家分:10
注 册:2016-2-19
结帖率:92.31%
收藏
已结贴  问题点数:10 回复次数:4 
菜鸟指教 关于 结构体返还函数的问题
下面注释部分里      b=function(10);      b.i=function(10)  2个都能正常运行 而且都是  10   请问 这2句是一样的吗?

#include<stdio.h>
struct aa function(int j);
struct aa
{
    int i;
};

int main()
{
    struct aa b;
    b=function(10);     /* b.i=function */

    printf("%d",b);

    return 0;
}

struct aa function(int j)
{
    struct aa c;
    c.i=j;
    return c;
}
搜索更多相关主题的帖子: function return 结构体 而且 
2016-03-06 20:53
wmf2014
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:216
帖 子:2039
专家分:11273
注 册:2014-12-6
收藏
得分:5 
b.i=function(10)能正常吗?你是不是未通过编译然后选择了前面正常编译的exe运行了。

能编个毛线衣吗?
2016-03-06 21:02
heizhizhu007
Rank: 2
等 级:论坛游民
帖 子:50
专家分:10
注 册:2016-2-19
收藏
得分:0 
回复 2楼 wmf2014
你说的对   编译不能通过



那请问 赋值的时候是b.i=10;

调用函数的时候是b=function(10)

这样吗

printf("%d",b);    printf("%d",b.i);   两者又有什么区别吗?

[此贴子已经被作者于2016-3-6 21:20编辑过]

2016-03-06 21:09
qq1023569223
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:湖南科技大学
等 级:贵宾
威 望:26
帖 子:2753
专家分:13404
注 册:2010-12-22
收藏
得分:5 
b是struct aa类型,b.i是int类型。function()返回的是struct aa型,所以b=funcion(10),b.i=10是正确的。printf("%d",b);是错的,b不能隐式转换为int类型。

[此贴子已经被作者于2016-3-6 21:53编辑过]


   唯实惟新 至诚致志
2016-03-06 21:52
heizhizhu007
Rank: 2
等 级:论坛游民
帖 子:50
专家分:10
注 册:2016-2-19
收藏
得分:0 
回复 4楼 qq1023569223
明白了 多谢 ^^
2016-03-07 12:14
快速回复:菜鸟指教 关于 结构体返还函数的问题
数据加载中...
 
   



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

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