做练习题,运行成功了但觉得逻辑好乱~程序还可以更加简单吗?
程序代码:
/* 练习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; } 感觉后面在判断一次是不是空格好多余。