看板 C_and_CPP 關於我們 聯絡資訊
一個小問題 但是不太好查 因為我不知道 : ? 的關鍵字叫甚麼... 請問各位 為什麼這樣不行~ (3 > 2) ? return 1; : return 0; 哪出了錯阿? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.123.104.55
Esvent:return (3>2)?1:0; 這樣?? 06/04 22:43
Esvent:?條件運算子 06/04 22:44
loveflames:因為這不是真正的if-else,你把式子左邊加上=就知到不 06/04 22:47
loveflames:傑利成立了 06/04 22:47
loveflames:^^^^多打 06/04 22:47
m13m13m:多一個問題. 06/04 22:47
m13m13m:#define MAX(i,j) return (i >j) ? i : j ; 06/04 22:48
m13m13m: result= MAX(2,3); 有沒有; 都不行 = =| 06/04 22:49
loveflames:不用return.... 06/04 22:50
m13m13m:真的... 為什麼阿... 是因為? : 已經有return 之意了嗎? 06/04 22:52
loveflames:另外這個叫ternary operator 06/04 22:52
loveflames:你把MAX()代換成return (i >j)?i:j; 就知道錯在哪了 06/04 22:53
m13m13m:對ya 不過請問love他是已經有return在裡面所以不用return 06/04 22:55
m13m13m:I got it. Thank u for giving me the key work. 06/04 23:00
avhacker:少用邪惡的 macro, 請改用 inline function 06/04 23:27
pichubaby:printf("%d",(1>2)?1:2); 06/05 00:46
tinlans:這個叫 conditional operator。ternary operator 的中文叫 06/05 06:13
tinlans:三元運算子,是對有三個運算元的運算子的通稱。 06/05 06:14
tinlans:C/C++ 的三元運算子就只有這個,所以常被混著講。 06/05 06:15