scanf()函式接收輸入資料時,遇以下情況結束乙個資料的輸入:
① 遇空格、「回車」、「跳格」鍵。
② 遇寬度結束。
③ 遇非法輸入。
scanf接收包含空格的字串
#include
int main()
輸入:i love you!
輸出:i
原因:scanf遇空格結束讀取。
解決:
#include
int main()
輸入:i love you!
輸出:i love you!
//讀到'\n'結束讀取,存入str,再拋棄乙個字元
scanf("%[^\n]%*c",str);
//讀到'\n'結束讀取,並將其讀到的資料拋棄,然後再拋棄乙個字元(這個字元是'\n')
//此時快取中不存在任何字元
scanf("%*[^\n]%*c");
int c;
while((c=getchar())!='\n'&&c!=eof);
//讀取乙個字元,直到是\n或者是eof停止
//等價於
scanf("*[^\n]");
#include
int main()
輸入:bcdeaf
輸出:f
翻轉含空格的單詞字串順序(濾掉空格)
輸入乙個英文句子,翻轉句子中單詞的順序,但單詞內字元的順序不變。為簡單起見,標點符號和普通字母一樣處理。例如輸入字串 i am a student.則輸出 student.a am i 說明 解題思路 1.先用trim 把字串兩端的空格去掉 2.再用split 把字串根據空格分隔為乙個個單詞塊儲存在...
C 如何輸入含空格的字串
c 如何輸入含空格的字串 1 scanf函式 包含標頭檔案 include scanf函式一般格式為scanf s st 但scanf預設回車和空格是輸入不同組之間的間隔和結束符號,所以輸入帶空格,tab或者回車的字串是不可以的。解決方法如下 1 利用格式符 它的作用為掃瞄字元集合。scanf c ...
C 如何輸入含空格的字串
c 如何輸入含空格的字串 1 scanf函式 包含標頭檔案 include scanf函式一般格式為scanf s st 但scanf預設回車和空格是輸入不同組之間的間隔和結束符號,所以輸入帶空格,tab或者回車的字串是不可以的。解決方法如下 1 利用格式符 它的作用為掃瞄字元集合。scanf c ...