社区
C语言
帖子详情
scanf的空格读入问题
outiejun
2003-10-13 12:39:42
char input[41];
scanf("%s",input);
我想输入一个带空格字符串,例如:die hard vendeta
但是输入之后读出input数组的值,第一个空格后面的值均为空,怎么回事?我该怎么解决?
...全文
149
7
打赏
收藏
scanf的空格读入问题
char input[41]; scanf("%s",input); 我想输入一个带空格字符串,例如:die hard vendeta 但是输入之后读出input数组的值,第一个空格后面的值均为空,怎么回事?我该怎么解决?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
daizh
2003-10-13
打赏
举报
回复
#include <stdio.h>
void main( void )
{
char line[60];
printf( "Input a string: " );
gets( line );
printf( "The line entered was: %s\n", line );
}
playboyxp
2003-10-13
打赏
举报
回复
不要用scanf()输入
用gets()直接输入字符串
outiejun
2003-10-13
打赏
举报
回复
但是gets不能中断程序吧
我不懂电脑
2003-10-13
打赏
举报
回复
#include <stdio.h>
int main(void)
{
char string[80];
printf("Input a string:");
gets(string);
printf("The string input was: %s\n", string);
return 0;
}
daizh
2003-10-13
打赏
举报
回复
用getline()函数。
wxtp
2003-10-13
打赏
举报
回复
用gets()
短歌如风
2003-10-13
打赏
举报
回复
不要用gets,它没有长度保护,无法应付用户输入过长的问题——将导致越界访问。
应该用fgets:
#include <stdio.h>
void main( void )
{
char line[60];
printf( "Input a string: " );
fgets(stdio, 60, line);
printf( "The line entered was: %s\n", line );
}
C语言入门到高阶-- printf、
scanf
与 CGI 文件重定向
尹成老师,带你步入 C 语言的殿堂,讲课生动风趣、深入浅出,全套视频内容充实,整个教程以 C 语言为核心,完整精彩的演练了数据结构、算法、设计模式、数据库、大数据高并发检索、文件重定向、多线程同步、进程通讯...
scanf
读入
空格
符
回车符就会停止读取,并将前面的数据拿出去,而当我们写了[^\n]的时候,我认为就是将
scanf
停止读取数据的条件进行了修改,让
scanf
遇到\n的时候停止并读取前面的数据,而遇到其他字符时并不会停止。带着这样的猜测我进行了下面的代码测试,发现和我想的大差不差。所以当你第二次使用
scanf
时,进到那块空间里面,第一个就是\n,所以它立马停止并将前面的数据拿出,所以当我们第二次第三次输入时,其实并没有输入任何东西。我是这样理解的,当我们不写这个[^\n]的时候,
scanf
就是默认的遇到
空格
符。
scanf
()函数怎么
读入
空格
输入: happy end 输出: happy end int main() { char arr[88]; char *str; str = &arr[0];
scanf
("%[^\n]%*c",str); printf("%s",str); return 0; }
scanf
("%[^\n]%*c",str)表示
读入
一行字符串。 ^表示"非",[^\n]表示
读入
换行字符就结束
读入
。 *表示该输入项
读入
后不赋予任何变量,即
scanf
("%*.
scanf
读入
空格
char s[100];
scanf
("%[^\n]", &s);
scanf
无法
读入
空格
用
scanf
不是不显示
空格
, 而是用
scanf
接收字符串的话, 在串首遇到
空格
的话,跳过,继续寻找下一个非
空格
字符, 在串中遇到
空格
时,结束字符串的输入。 所以如果用户输入" abcd efg"的话,
scanf
取得的字符串为"abcd"。 而gets取得字符串时,是在遇到EOF(串尾)时停止,所以不存在这个
问题
。
C语言
69,382
社区成员
243,073
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章