看板 C_and_CPP 關於我們 聯絡資訊
平台:Linux 編譯器:gcc 想請問各位大大,小弟最近在某個driver .c檔看到以下寫法: retval= readw(addr1) == readw(addr2); 後來把retval值printf也沒錯,相等就會是true,retval=1; 程式也沒問題,但是想說是不是要改寫成tenary的寫法會比較好: 如下: retval= readw(addr1) == readw(addr2) ? 1 : 0 ; 總覺得程式原本的寫法看起來很怪,但又沒錯~ 小弟只有基本C語言基礎,看到一些特殊技巧有時候不太知道怎麼辦 還請各位幫忙大大看一下,另外這類的技巧是不是要去看C99 spec會比較好 找到答案~ 感謝各位~ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.192.90.167 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1550985546.A.0ED.html ※ 編輯: decheng (123.192.90.167), 02/24/2019 13:19:55
KanzakiHAria: ? 02/24 13:43
Bencrie: 很正常的寫法。跟 C99 也沒關係 02/24 13:45
decheng: 好的感謝,看來就是我想太多了~ 謝謝~! 02/24 14:15
uranusjr: 如果有 first-class boolean type 比較有差, 例如 Java 02/24 14:22
uranusjr: 但是 C 就沒有這種東西, 所以這樣寫很合理 02/24 14:22
decheng: 感謝u大,了解了~ 02/24 14:30
loveme00835: 這時候就是需要加括號了 02/24 16:53
MOONRAKER: 不知道哪裡特殊 大概跟next morning一樣特殊吧 02/25 10:58
MOONRAKER: 只有基本C語言基礎還學?:那叫學歪 以前整本螞蟻書上完 02/25 11:01
MOONRAKER: 也不會教到 太早學這個有害身心健康 02/25 11:01
hunandy14: 後面那兩個刮起來,看起來就順眼多惹~~ 02/27 14:10
cia1099: 你把code改得更智障 02/27 14:21
decheng: 感謝樓上大大指教,我太蠢了!qq 02/27 23:37