[問題] 輸入一個字串或句子再將他反轉

看板C_and_CPP作者 (誠實面對自己吧!)時間11年前 (2012/11/17 13:22), 編輯推噓1(1020)
留言21則, 5人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) VC++2008 問題(Question): 我想輸入一個字串再將他反轉 錯誤結果(Wrong Output): 程式進入gets(A)時不知為何會跳回while(1) 程式碼(Code):(請善用置底文網頁, 記得排版) http://ideone.com/SDZoqs 有修改了一下 但這樣沒辦法輸入有空格的句子 @@ 補充說明(Supplement): #include <stdio.h> #include <stdlib.h> #include <string.h> void main(void){ char X[20]={'\0'}; char temp[20]; printf("input1\n"); gets(temp); strcat(X,temp); printf("%s",X); printf("input2\n"); gets(temp); strcat(X,temp); printf("%s",X); system("pause"); } 我有另外用一個小程式測試一下把兩個字串加在一起 這邊就可以正常輸入 不知道問題出在哪 @@ -- -- ˙ ˙ ◥ ▲ 上吧,藍胖!! \' (OwQ ) ) ) ﹀ \ \ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 1.170.160.35 ※ 編輯: kattte 來自: 1.170.160.35 (11/17 13:22)

11/17 13:23, , 1F
也是 FAQ 了 scanf 時留在輸入列裡的 Enter 被 gets 當一行
11/17 13:23, 1F

11/17 13:38, , 2F
scanf時在%c前面加空格
11/17 13:38, 2F
※ 編輯: kattte 來自: 1.170.160.35 (11/17 13:42)

11/17 13:46, , 3F
可是用scanf就沒辦法輸入句子了
11/17 13:46, 3F

11/17 13:56, , 4F
for(i=0;i<k/2;i--)
11/17 13:56, 4F

11/17 13:57, , 5F
改成 ++
11/17 13:57, 5F
※ 編輯: kattte 來自: 1.170.160.35 (11/17 14:15)

11/17 17:54, , 6F
gets(A);
11/17 17:54, 6F

11/17 17:55, , 7F
我要輸入句子 得用gets阿
11/17 17:55, 7F

11/17 17:56, , 8F
可以用
11/17 17:56, 8F

11/17 17:58, , 9F
但是用gets會發生 LPH66說的情形 不知要如何解決
11/17 17:58, 9F

11/17 17:59, , 10F
用gets編譯會過 但實際跑會錯
11/17 17:59, 10F

11/17 17:59, , 11F
逆轉的時候 A[i] 要跟 A[k-i-1] 對調。
11/17 17:59, 11F

11/17 18:04, , 12F
很感謝你 但是這樣還是沒辦法輸入有空格的句子 q__q
11/17 18:04, 12F

11/17 18:05, , 13F
比如說像 "hello world"這樣
11/17 18:05, 13F

11/17 18:06, , 14F
你的意思是如果把 scanf 改成 gets 也不能用嗎?
11/17 18:06, 14F

11/17 18:08, , 15F
用gets會發生 LPH66版友所說的情形
11/17 18:08, 15F

11/17 18:10, , 16F
這個作業卡了我快一個月了 XD 真的沒辦法 只好去問老師了
11/17 18:10, 16F
※ 編輯: kattte 來自: 1.170.176.139 (11/17 18:14)

11/17 18:14, , 17F
gets 前面加一行 fflush(stdin);
11/17 18:14, 17F

11/17 18:16, , 18F
感謝 就是要這個...XD
11/17 18:16, 18F

11/17 18:19, , 19F
原來就是用fflush(stdin); 把多輸入的\n排除 太感謝了!!
11/17 18:19, 19F

11/17 19:20, , 20F
fflush(stdin)建議盡量不要用,似乎標準沒規範到這個
11/17 19:20, 20F

11/17 19:36, , 21F
了解
11/17 19:36, 21F
文章代碼(AID): #1Gfny6Zd (C_and_CPP)