c语言中连续多个空格用一个代替有个地方看不懂

#include<stdio.h>intmain(void){intc;while((c=getchar())!=EOF){if(c==''){putchar(c);wh... #include <stdio.h>

int main(void)
{
int c;
while ((c = getchar()) != EOF) {
if (c == ' ') {
putchar(c);
while((c = getchar()) == ' ' && c != EOF)
;
}
if (c == EOF)
break;

putchar(c);
}
return 0;
}

while((c = getchar()) == ' ' && c != EOF)这句话什么意思什么用后面不是没有循环体吗,求解答
展开
 我来答
xuzewei_
推荐于2017-11-26 · TA获得超过154个赞
知道答主
回答量:86
采纳率:0%
帮助的人:80.2万
展开全部
while((c = getchar()) == ' ' && c != EOF)这句话的意思是跳过第一个空格之后的连续几个空格,因为前面已经有了putchar(c);把第一个空格打印出来了,所以如果下一个字符还是空格,就会在循环while((c = getchar()) == ' ' && c != EOF);里面不断执行,直到输入不是空格字符或者该字符是结束符号跳出循环!所以就实现了题目的要求,连续多个空格用一个空格字符来代替!
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式