[問題] 關於兩個值取最大值

看板C_and_CPP (C/C++)作者 (Jun)時間15年前 (2010/10/29 20:44), 編輯推噓8(916)
留言16則, 10人參與, 最新討論串1/1
#include<stdio.h> #include<stdlib.h> int main() { int a=40,b=20; printf("%d",(a>b?a:b)); system("pause"); } 可不可以問一下,為什麼a>b?a:b,是取兩個值的最大值阿? 雖然這樣的寫法挺簡單的但有比用if else來判斷省時間嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 115.43.154.231

10/29 20:46, , 1F
因為a>b true的話就會輸出a false就會輸出b 就等於判斷最大
10/29 20:46, 1F

10/29 20:46, , 2F
值阿~
10/29 20:46, 2F

10/29 20:59, , 3F
我覺得有比較快
10/29 20:59, 3F

10/29 21:24, , 4F
有沒有比較快看編出來的組語就知道了
10/29 21:24, 4F

10/29 21:28, , 5F
不用想這麼多,有些團隊直接規定不準用這三元運算子
10/29 21:28, 5F

10/29 21:34, , 6F
是喔!為什麼不能用呀???
10/29 21:34, 6F

10/29 21:39, , 7F
coding style吧
10/29 21:39, 7F

10/29 21:40, , 8F
?:用的好的話好幾10行的程式碼可以縮成一行
10/29 21:40, 8F

10/29 22:24, , 9F
見仁見智 我個人覺得這可讀性和較多的loc比起來有賺到
10/29 22:24, 9F

10/29 22:41, , 10F
如果你當老大管一堆人,某天才發現某個手下有偏執狂,想當
10/29 22:41, 10F

10/29 22:42, , 11F
短碼達人,把所有的if當用這個寫,每行塞一堆運算很難讀..
10/29 22:42, 11F

10/29 22:48, , 12F
int max=(a>b)?(a):(b); printf... 短碼也不是寫開心就好
10/29 22:48, 12F

10/29 23:04, , 13F
goto正確使用的話也很不錯,但你很難用工具自動檢查哪些
10/29 23:04, 13F

10/29 23:04, , 14F
goto是好哪些是壞,至少可以禁止,可以自動檢查用了與否
10/29 23:04, 14F

10/30 09:45, , 15F
a>b?a>c?a:c:b>c?b:c <==三元運算可以這樣用嗎?
10/30 09:45, 15F

10/30 10:55, , 16F
為什麼要把程式寫的這麼噁心
10/30 10:55, 16F
文章代碼(AID): #1Coi6z4L (C_and_CPP)
文章代碼(AID): #1Coi6z4L (C_and_CPP)