用scanf("%s",array);
的话遇到空格就停止接收后面的字符了
以下是处理这种情况的一些方法(记录下来以免以后遇到相似的问题):
- 1.使用
"%[^\n]"
也是可以接收输入一个带空格的字符串,直到回车结束接收
char buf[10] = {0};
scanf("%[^\n]",buf); //可以读取空格,回车结束输入
注:%[abc]
表示字符组合包括a、b和c
,如果遇到这三个字符之外的字符,则停止接收。%[^abc]
代表字符组合为abc
以外的所有字符,至于横杠是否用于指定某个范围的字符%[a-z]
,则因编译器而异。
- 2.使用
gets()
,它可以接收带空格的字符串, 直到回车才结束输入
char buf[80]={0};
gets(buf); //可以读取空格, 回车结束输入
网友评论