看板 C_and_CPP 關於我們 聯絡資訊
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) c 最近程式書剛好讀到 ?: 判斷式的用法 自己試試看後發現結果不符,想不出為捨麼>< 自己的程式碼: #include <stdio.h> #include <stdlib.h> int main(void) { int i=4; (i>3) ? printf("i>3"), printf("a") : printf("i<=3"), printf("b") ; system("pause"); return (0); } 顯示出: i>3ab 多跑出一個b run了一下範例光碟的程式碼沒有這個問題 感謝解惑>_< -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 125.228.254.252 ※ 編輯: qazqaz 來自: 125.228.254.252 (11/06 02:00)
PkmX:因為?:的優先權比,高啊... 11/06 02:15
EdisonX:printf 傳回值 : 輸出之字元數.所以... 11/06 02:15
EdisonX:請忽視我上一堆文,看來似乎無關 11/06 02:17
flydragon198:在兩個printf頭尾加上()就正常了,範圍的問題吧 11/06 02:25
flydragon198:( printf("i<=3"), printf("b") ) 11/06 02:26
loveme00835:範例程式碼不一樣? 11/06 03:01
azureblaze:?:是用來讓程式看起來更簡單不是更複雜的,不要亂用 11/06 10:37
azureblaze:該用if的時候就用if 11/06 10:37
MOONRAKER: , 會戕害心靈。濫用 , 應該視為犯罪。 11/06 12:04
maerdimer:這是未定義行為...吧...? 反正不要用就好了 = =a 11/06 13:17
diabloevagto:printf之間可以用,?? 11/06 14:53
xvid:何必這樣搞呢 簡短的macro再用?: 11/09 00:49