做练习题,运行成功了但觉得逻辑好乱~程序还可以更加简单吗?
程序代码:/* 练习1-9 编写一个将输入复制到输出的程序,并将其中连续的多个空格用一个空格代替 */
/* 编程思路:
* 判断是否输入的是空格,并且变量状态为0
* 是的话,输出空格 把变量赋值为1
* 在判断是不是空格,不是就直接输出字符并把变量状态回复为0
*/
#include <stdio.h>
int main(void)
{
int state, c;
state = 0;
while((c = getchar()) != EOF){
if ( c == ' ' && state == 0 ){
putchar(c);
state = 1;
}
else if ( c != ' ' ) {
putchar(c);
state = 0;
}
}
return 0;
}
感觉后面在判断一次是不是空格好多余。








