我的这段程序是这样的:for(i=0;i<n;i++){scanf("%s",a);//输入字符串if(i<n-1){scanf("%c",&blank);}//我试图这样输入一行空行,可是程序直接不执行了,这是为什么啊测试数据中n=2,可是我的blank是char型的啊,而且不是空格,是空行;
3 回答
收到一只叮咚
TA贡献1821条经验 获得超4个赞
明确一下概念吧?....什么叫输入空行。
在控制台中输入空行 -> 按回车
在读入文件中加一个空行 -> 直接在文件中加一个空行
希望读入输入文件中的空行(通常情况下是读掉(为了不影响后面的读入)) 。
方法一 : scanf("\n");直接读掉空行。或者也可以char c; scanf("%c",c);来将空行当成字符读掉。
方法二:getchar();意义也是读掉一个字符,在读完空行前面的部分后加入getchar(),可以读掉空行。
慕森王
TA贡献1777条经验 获得超3个赞
空行 不就是一组空格的字符串吗? 要用字符串只能是char i[j] 字符串也是一个数组..! scanf是不支持空格的.
scanf()不支持空格...它遇到空格就会认为程序输入结束...想要输入空格键就要用 gets(a);手动按空格 直到再按回车..!
for(i=0;i<n;i++){
gets(a[i]);//输入字符串
- 3 回答
- 0 关注
- 114 浏览
添加回答
举报
0/150
提交
取消