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