C語言輸入帶空格的字符串


參考: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]表示字符組合包括abc,如果遇到這三個字符之外的字符,則停止接收。%[^abc]代表字符組合為abc以外的所有字符,至於橫杠是否用於指定某個范圍的字符%[a-z],則因編譯器而異。

 --------------------------------

2019-10-25 16:45:51 第一次改

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM