鱼C论坛

 找回密码
 立即注册
查看: 1065|回复: 7

[已解决]理解别人代码的时候有两行看不太懂什么意思

[复制链接]
发表于 2021-9-28 04:22:10 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
own_chunk_size = (number_of_elements >= chunk_size*(rank_of_process + 1)) ? chunk_size : (number_of_elements - chunk_size*rank_of_process);


int received_chunk_size= (number_of_elements>= chunk_size* (rank_of_process + 2 * step))? (chunk_size * step): (number_of_elements- chunk_size* (rank_of_process + step));

有没有大佬能帮忙简化成 if else 的形式

主要就是不明白 '?' 和 ':' 在这里面起到的作用,谢谢!
最佳答案
2021-9-28 07:29:51
    //own_chunk_size = (number_of_elements >= chunk_size*(rank_of_process + 1)) ? chunk_size : (number_of_elements - chunk_size*rank_of_process);
    if(number_of_elements >= chunk_size*(rank_of_process + 1))
    {
        own_chunk_size = chunk_size;
    }
    else
    {
        own_chunk_size = number_of_elements - chunk_size*rank_of_process;
    }

    //int received_chunk_size= (number_of_elements>= chunk_size* (rank_of_process + 2 * step))? (chunk_size * step): (number_of_elements- chunk_size* (rank_of_process + step));
    int received_chunk_size;
    if(number_of_elements>= chunk_size* (rank_of_process + 2 * step))
    {
        received_chunk_size = chunk_size * step;
    }
    else
    {
        received_chunk_size = number_of_elements- chunk_size* (rank_of_process + step);
    }
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-9-28 07:29:51 | 显示全部楼层    本楼为最佳答案   
    //own_chunk_size = (number_of_elements >= chunk_size*(rank_of_process + 1)) ? chunk_size : (number_of_elements - chunk_size*rank_of_process);
    if(number_of_elements >= chunk_size*(rank_of_process + 1))
    {
        own_chunk_size = chunk_size;
    }
    else
    {
        own_chunk_size = number_of_elements - chunk_size*rank_of_process;
    }

    //int received_chunk_size= (number_of_elements>= chunk_size* (rank_of_process + 2 * step))? (chunk_size * step): (number_of_elements- chunk_size* (rank_of_process + step));
    int received_chunk_size;
    if(number_of_elements>= chunk_size* (rank_of_process + 2 * step))
    {
        received_chunk_size = chunk_size * step;
    }
    else
    {
        received_chunk_size = number_of_elements- chunk_size* (rank_of_process + step);
    }

评分

参与人数 1荣誉 +5 鱼币 +5 贡献 +3 收起 理由
Daniel_Zhang + 5 + 5 + 3 谢谢大佬

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-9-28 07:30:41 | 显示全部楼层
就是三元运算符,原理是:
res = (条件判断语句) ? a : b
等价于
if(条件判断语句):
    res = a
else:
    res = b
第二个
int received_chunk_size = 0
if number_of_elements >= chunk_size * (rank_of_process + 2 * step):
    received_chunk_size = chunk_size * step
else:
    received_chunk_size = number_of_elements - chunk_size * (rank_of_process + step)

评分

参与人数 1荣誉 +5 鱼币 +5 贡献 +3 收起 理由
Daniel_Zhang + 5 + 5 + 3 楼上大佬先来的,最佳给他了,但还是谢谢你

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-9-28 07:31:46 | 显示全部楼层
昨晚熬夜到四点吗

评分

参与人数 1荣誉 +5 鱼币 +5 贡献 +3 收起 理由
Daniel_Zhang + 5 + 5 + 3 感谢

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-9-28 13:59:45 | 显示全部楼层

谢谢大佬,刚起,吃完饭研究研究
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-9-28 14:00:47 | 显示全部楼层
小甲鱼的铁粉 发表于 2021-9-28 07:30
就是三元运算符,原理是:

等价于

谢谢大佬,刚起,吃完饭研究研究.确实,熬夜到了 4 点,躺床上也睡不着,玩了会儿手机,估计 6 点才睡的吧,太难了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-9-28 18:29:27 | 显示全部楼层
Daniel_Zhang 发表于 2021-9-28 14:00
谢谢大佬,刚起,吃完饭研究研究.确实,熬夜到了 4 点,躺床上也睡不着,玩了会儿手机,估计 6 点才睡的吧,太难 ...

我以为我熬的够久了
没想到。。。。。
这是谁的部将
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-9-29 12:34:55 | 显示全部楼层

谢谢大佬再次救我狗命!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-22 11:27

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表