| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 310 人关注过本帖
标题:新手求问,为什么这个结构体的函数可以有这么多return
只看楼主 加入收藏
oped02
Rank: 2
等 级:论坛游民
帖 子:39
专家分:20
注 册:2022-10-16
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:4 
新手求问,为什么这个结构体的函数可以有这么多return
struct mankind{
    char name[10];
    int yy,mm,dd;
};


bool LessEqu(mankind a , mankind b){
    if(a.yy != b.yy) return a.yy <= b.yy;
    else if (a.mm != b.mm) return a.mm <= b.mm;
    else (a.dd != b.dd) return a.dd <= b.dd;
}
这段代码意思是如果a的日期小于等于b,则返回true,虽然我知道这是对的,但不明白为什么这样写
想请教一下各位
搜索更多相关主题的帖子: 日期 小于 函数 return 结构体 
2022-10-26 21:04
oped02
Rank: 2
等 级:论坛游民
帖 子:39
专家分:20
注 册:2022-10-16
收藏
得分:0 
bool LessEqu(mankind a , mankind b){
    if(a.yy != b.yy) return a.yy <= b.yy;
    else if (a.mm != b.mm) return a.mm <= b.mm;
    else  return a.dd <= b.dd;
}
不好意思,代码应该改成这样
2022-10-26 21:12
apull
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:三体星系
等 级:版主
威 望:177
帖 子:1371
专家分:8317
注 册:2010-3-16
收藏
得分:10 
bool LessEqu(mankind a , mankind b){
    if(a.yy != b.yy) return a.yy <= b.yy;  年不一样直接比较年
    else if (a.mm != b.mm) return a.mm <= b.mm;  年一样,月不一样比较月
    else  return a.dd <= b.dd; 上面2个一样比较日
}
2022-10-27 12:17
幻紫灵心
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:山咔咔里面
等 级:贵宾
威 望:53
帖 子:395
专家分:2640
注 册:2018-3-30
收藏
得分:10 
多个return是因为它们在不同的条件逻辑里面,最终执行的只有一个。

saber,别哭.
2022-10-27 15:14
TsXor
Rank: 2
等 级:论坛游民
威 望:1
帖 子:5
专家分:10
注 册:2022-11-7
收藏
得分:0 
bool LessEqu(mankind a , mankind b)

是不是应该写成
bool LessEqu(struct mankind a , struct mankind b)
2022-11-07 19:25
快速回复:新手求问,为什么这个结构体的函数可以有这么多return
数据加载中...
 
   



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

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