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; }本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
