#include <stdio.h>
int main()
{
int c; /* Present Character */
int old_c; /* Previous Character */
while ((c = getchar()) != EOF) {
if (old_c == ' ' && c != ' ') {
putchar(' ');
putchar(c);
} else if(c != ' ') {
putchar(c);
}
old_c = c;
}
return 0;
}
我不太了解这段代码的工作原理。这是C编程语言练习1.9的解决方案:
练习1-9:
编写一个程序,将其输入复制到输出,用一个空格替换一个或多个空格的每个字符串。
C编程语言第二版,
B. Kernighan和D.Ritchie,Prentice 霍尔,第20页。
这是我的问题
例如,我输入为Hello World\n
'\n'
不是最后一个字符吗?保存到old_c : old_c = c;
有人可以向我解释一下代码的工作原理,因为我确实想学习c编程语言和编程。 我是一个初学者;
答案 0 :(得分:0)
此代码执行9件事:
c
和old_c
,c
。old_c
是否为
和c
不是
。old_c
设置为c
。0
)