作者jacky1989 ()
看板C_and_CPP
标题[讨论] 关於判断式的撰写风格
时间Fri Sep 4 00:07:06 2020
大家好,打给後,太咖齁~
小弟这几天看到一个判断式的不同形式写法
原本C语言是长这样
if(x>5)
i=1;
else
i=0;
前几天看到有人写成这样
i=(x>5);
不知道版上诸位前辈会不会写成这种形式呢?
如果以组合语言来看,似乎第2种形式会比较快?
先不论现在机器对於编译都已经做最佳化了,所以可能感觉不出来差别
不过还是想多学习一下不同的写法,与更好的写法
谢谢各位
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 180.176.11.43 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1599149229.A.68B.html
1F:推 BSpowerx: i = x>5? 1: 0; 09/04 00:21
2F:→ BSpowerx: 一般情况下选1吧,可读性比较重要。且若i的目标值不刚好 09/04 00:22
3F:→ BSpowerx: 是0跟1的话第二种写法就没用了 09/04 00:22
了解,很受用的解释,感谢指教
※ 编辑: jacky1989 (180.176.11.43 台湾), 09/04/2020 00:28:38
4F:→ loveme00835: 只有一个可用於初始化, 所以要看使用情境. 就问你一 09/04 00:43
5F:→ loveme00835: 个问题: 如果 i 是 const int 应该怎麽写? 撰码要看 09/04 00:43
6F:→ loveme00835: 前後文和设计来选择适合的写法, 而不是死背答案 09/04 00:43
7F:→ loveme00835: 另外还有一个问题是: 在 if-else 以前 i 的值合不合 09/04 00:45
8F:→ loveme00835: 法? 而在 if-else 之後 i 又有哪些可能值? 这些问题 09/04 00:45
9F:→ loveme00835: 都会影响你最後呈现的方式 09/04 00:45
10F:推 annheilong: 只有当 i 的型态是 bool 我才会这样写 09/10 10:15