c++ 中如何输入空行

我的这段程序是这样的:for(i=0;i<n;i++){scanf("%s",a);//输入字符串if(i<n-1){scanf("%c",&blank);}//我试图这... 我的这段程序是这样的:

for(i=0;i<n;i++){

scanf("%s",a);//输入字符串

if(i<n-1){
scanf("%c",&blank);}//我试图这样输入一行空行,可是程序直接不执行了,这是为什么啊
测试数据中n=2,
可是我的blank是char型的啊,而且不是空格,是空行;我的这段程序为什么不对呢
展开
 我来答
千锋教育
2015-12-05 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
展开全部
  scanf()不支持空格,遇到空格就会认为程序输入结束。想要输入空格键就要用 gets(a);手动按空格,直到再按回车。
  C++由美国AT&T贝尔实验室的本贾尼·斯特劳斯特卢普博士在20世纪80年代初期发明并实现(最初这种语言被称作“C with Classes”带类的C)。开始,C++是作为C语言的增强版出现的,从给C语言增加类开始,不断的增加新特性。虚函数(virtual function)、运算符重载(operator overloading)、多重继承(multiple inheritance)、模板(template)、异常(exception)、RTTI、命名空间(name space)逐渐被加入标准。
匿名用户
推荐于2017-09-28
展开全部
空行 不就是一组空格的字符串吗? 要用字符串只能是char i[j] 字符串也是一个数组..! scanf是不支持空格的.

scanf()不支持空格...它遇到空格就会认为程序输入结束...想要输入空格键就要用 gets(a);手动按空格 直到再按回车..!

for(i=0;i<n;i++){

gets(a[i]);//输入字符串
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
袁世平1
2015-09-22 · TA获得超过536个赞
知道小有建树答主
回答量:459
采纳率:0%
帮助的人:397万
展开全部

明确一下概念吧?....什么叫输入空行。

  1. 在控制台中输入空行   ->   按回车

  2. 在读入文件中加一个空行   ->  直接在文件中加一个空行

  3. 希望读入输入文件中的空行(通常情况下是读掉(为了不影响后面的读入)) 。

  4. 方法一 :  scanf("\n");直接读掉空行。或者也可以char c; scanf("%c",c);来将空行当成字符读掉。

    方法二:getchar();意义也是读掉一个字符,在读完空行前面的部分后加入getchar(),可以读掉空行。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
weblanyu
2007-11-27 · TA获得超过177个赞
知道小有建树答主
回答量:363
采纳率:0%
帮助的人:288万
展开全部
gets()
scanf()函数只接收所标识的格式(也就是说。输入'A',而格式控制是%d,那么acanf()并不接收
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sillior
2007-11-27
知道答主
回答量:2
采纳率:0%
帮助的人:0
展开全部
试试cin.getline(),
cin.get()
也可以
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式