[問題] if else改成條件運算子?:的寫法

看板C_and_CPP (C/C++)作者 (responsible)時間15年前 (2011/03/31 01:50), 編輯推噓0(0011)
留言11則, 3人參與, 最新討論串1/1
開發平台(Platform) (Ex: VC++, GCC, Linux, ...) 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) 問題(Question):#include <stdio.h> #include <stdlib.h> int main(void) { char x,g,m; printf("你是男生還是女生:"); scanf("%c",&x); if(x=='m' || x=='M') printf("你是個男生"); else if (x=='g' || x=='G') printf("你是個女生"); else printf("程式錯誤"); system("pause"); return 0; } 我還沒學到字串 所以要改成?:的方式時都會卡在男生.女生出不來 不知道怎麼改才好 #include <stdio.h> #include <stdlib.h> int main(void) { char x; printf("你是男生還是女生:"); scanf("%c",&x); (x=='m' || x=='M')?"你是個男生":(x=='G' || x=='g')?"你是個女生":"程式錯誤"; printf("%c",x); system("pause"); return 0; } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.170.127.32 ※ 編輯: responsible1 來自: 118.170.127.32 (03/31 01:53)

03/31 01:57, , 1F
(x=='m'||x=='M')?"你是個男生":(x=='g'||x=='G')?"你是
03/31 01:57, 1F

03/31 01:58, , 2F
個女生":"程式錯誤"
03/31 01:58, 2F

03/31 02:08, , 3F
我照這樣打 printf後面要加啥 不好意思我剛學....
03/31 02:08, 3F

03/31 02:14, , 4F
建議貼上你寫的程式y
03/31 02:14, 4F
※ 編輯: responsible1 來自: 118.170.127.32 (03/31 02:18)

03/31 02:22, , 5F
03/31 02:22, 5F

03/31 02:27, , 6F
恩恩 但我有個問題 printf後面為啥不用加%c,x那些就.
03/31 02:27, 6F

03/31 02:27, , 7F
可以直接印出來
03/31 02:27, 7F

03/31 02:30, , 8F
OK 我對照上面我自己寫的if else看懂了 謝謝大大
03/31 02:30, 8F

03/31 02:31, , 9F
因為printf會將引數轉為字串 後面沒引數就只剩字串啊
03/31 02:31, 9F

03/31 02:32, , 10F
而且前面你就打了 printf("你是男生還是女生:"); @_@
03/31 02:32, 10F

03/31 02:35, , 11F
囧..我把它想太難了..感謝你~一直鑽牛角尖...謝謝你
03/31 02:35, 11F
文章代碼(AID): #1Dasrn-- (C_and_CPP)
文章代碼(AID): #1Dasrn-- (C_and_CPP)