为了账号安全,请及时绑定邮箱和手机立即绑定

我的这段程序为什么不对呢?程序为什么不执行了?

我的这段程序为什么不对呢?程序为什么不执行了?

C++
浮云间 2022-05-27 11:07:11
我的这段程序是这样的:for(i=0;i<n;i++){scanf("%s",a);//输入字符串if(i<n-1){scanf("%c",&blank);}//我试图这样输入一行空行,可是程序直接不执行了,这是为什么啊测试数据中n=2,可是我的blank是char型的啊,而且不是空格,是空行;
查看完整描述

3 回答

?
收到一只叮咚

TA贡献1821条经验 获得超4个赞

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

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

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

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

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

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


查看完整回答
反对 回复 2022-05-30
?
慕森王

TA贡献1777条经验 获得超3个赞

空行 不就是一组空格的字符串吗? 要用字符串只能是char i[j] 字符串也是一个数组..! scanf是不支持空格的.
scanf()不支持空格...它遇到空格就会认为程序输入结束...想要输入空格键就要用 gets(a);手动按空格 直到再按回车..!
for(i=0;i<n;i++){
gets(a[i]);//输入字符串

查看完整回答
反对 回复 2022-05-30
?
慕的地6264312

TA贡献1817条经验 获得超6个赞

gets()
scanf()函数只接收所标识的格式(也就是说。输入'A',而格式控制是%d,那么acanf()并不接收

查看完整回答
反对 回复 2022-05-30
  • 3 回答
  • 0 关注
  • 114 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信