[問題] 關於檢測字串是否相等 (已解決 謝謝!!)

看板C_and_CPP (C/C++)作者時間15年前 (2010/12/07 19:53), 編輯推噓3(302)
留言5則, 4人參與, 最新討論串1/1
問題很蠢...見諒 fgets(sentence,50,stdin); if(sentence=="Four"){printf("4");} 請問為何我輸入Four的時候不會印出4? 如果把上面的"Four"改成s (char s[]="Four";) 為何也不行? 要怎麼做才能讓電腦看懂"Four"? 另一個問題 char *s[4]={"One","Two","Three","Four"}; 不加*為何編譯會不過? 然後s[0]的位置是存"one"對不對? 那可以用if(sentence==s[3]){}的方式判定嗎? 以上 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.50.61.41

12/07 19:57, , 1F
用strcmp
12/07 19:57, 1F
fgets(sentence,50,stdin); if(strcmp(sentence,s)==0){printf("4");} 這樣子好像也不會跑 ※ 編輯: gary11204 來自: 123.50.61.41 (12/07 20:05)

12/07 20:11, , 2F
先檢查sentence裡面裝了什麼
12/07 20:11, 2F

12/07 20:12, , 3F
fgets會把換行一起讀進來
12/07 20:12, 3F

12/07 20:21, , 4F
樓上正解
12/07 20:21, 4F
真的很謝謝!! 幫了我大忙!! ※ 編輯: gary11204 來自: 123.50.61.41 (12/07 20:22)

12/07 21:29, , 5F
想當初我也被fgets搞了一天....XD
12/07 21:29, 5F
文章代碼(AID): #1C_Y1NgN (C_and_CPP)
文章代碼(AID): #1C_Y1NgN (C_and_CPP)