參考:https://blog.csdn.net/vincemar/article/details/78750435
因為:
scanf("%s",str); 遇到空格就停止接收后面的字符,
scanf("%s", str, 10); 不能接收帶空格的字串輸入,雖然它的指定長度是10, 但是遇到空格時即使沒有滿10個字符它也自動結束輸入了,
所以:
1.用 gets() 可以讀取空格, 直到回車才會結束輸入
char str[80];
gets(str); //可以讀取空格, 回車才會結束輸入
2.使用"%[^\n]"可以接收輸入帶空格的字串,直到回車才結束接收
char str[10];
scanf("%[^\n]",str); //可以讀取空格,回車結束輸入
附:正則中的[xxx],%[abc]表示字符組合包括a、b和c,如果遇到這三個字符之外的字符,則停止接收,%[^abc]代表字符組合為abc以外的所有字符,至于橫杠是否用于指定某個范圍的字符%[a-z],則因編譯器而異,
--------------------------------
2019-10-25 16:45:51 第一次改
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/67350.html
標籤:C
上一篇:C語言有關檔案編輯的函式
下一篇:括號匹配的檢驗
