黑马程序员技术交流社区

标题: 有关于c语言中的scanf的问题,急求!! [打印本页]

作者: baihe0813    时间: 2014-12-29 21:05
标题: 有关于c语言中的scanf的问题,急求!!
我想使用scanf输入一句话,如“my name is bhh”,为什么得到的总是“my”,后面的得不到呢??
  1. char str[50];
  2.         scanf("%s", str);
  3.         printf("%s", str);
复制代码

作者: BBD2008    时间: 2014-12-29 21:41
scanf取%s格式时到空格就中断了,

可以这样写,先定义一个字符串数组str,然后:
scanf( "%[^\n]", str );
^的意思是取反集,也就是除\n以外的都包括在内。
作者: baihe0813    时间: 2014-12-31 13:53
BBD2008 发表于 2014-12-29 21:41
scanf取%s格式时到空格就中断了,

可以这样写,先定义一个字符串数组str,然后:

又学到了新东西,thank you
作者: 梦拾荒年    时间: 2014-12-31 14:02
是的,scanf读取到空格时会认为读取结束
作者: 火焱w    时间: 2014-12-31 14:21
遇到空格就中断了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2