1条回答 默认 最新
- NiFuture 2018-10-01 11:44关注
原因: 出现的那个空行是因为你在输完数字10之后敲下的回车被捕捉打印出来了,即被scanf语句后面的 b=getchar() 捕捉,被第一次循环里的 putchar(b) 打印出来了。
解决: 把输入完成后敲的回车吸收掉,不让它被赋值给 b 。
即, 在 b=getchar() 前加一条语句: getchar()#include <stdio.h> int main(void) { int a; char b; scanf("%d", &a); getchar(); //吸收回车字符 b = getchar(); while(b != EOF) { if(b != ' ') { putchar(b); } else { putchar('\n'); } b = getchar(); } return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 一直显示正在等待HID—ISP
- ¥15 Python turtle 画图
- ¥15 关于大棚监测的pcb板设计
- ¥15 stm32开发clion时遇到的编译问题
- ¥15 lna设计 源简并电感型共源放大器
- ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)
- ¥15 Vue3地图和异步函数使用
- ¥15 C++ yoloV5改写遇到的问题
- ¥20 win11修改中文用户名路径
- ¥15 win2012磁盘空间不足,c盘正常,d盘无法写入