C 我不知道';我不理解K&;的这个代码示例中的差异;R练习1-12
我正试图找出K&R练习1-12,无意中发现了这个答案:C 我不知道';我不理解K&;的这个代码示例中的差异;R练习1-12,c,C,我正试图找出K&R练习1-12,无意中发现了这个答案: #include <stdio.h> #define IN 1 #define OUT 0 main() { int c, state; state = OUT; while ((c = getchar()) != EOF) { if (c != ' ' && c != '\n' && c != '\t') { state = IN; putch
#include <stdio.h>
#define IN 1
#define OUT 0
main()
{
int c, state;
state = OUT;
while ((c = getchar()) != EOF) {
if (c != ' ' && c != '\n' && c != '\t') {
state = IN;
putchar(c);
}
else
if (state == IN) {
state = OUT;
putchar('\n');
}
}
if (state == IN)
putchar('\n');
}
如果我把它从代码中去掉,它仍然运行完全相同的代码。请向我解释一下在代码中加入额外的if语句的目的
还有没有更简单的方法来编写此代码,而不必使用书本章节之前的内容 如果结束状态是
OUT
,通常是这样,则没有区别。如果结束状态为中的(即输入没有尾随空格,如换行符),则用换行符终止输出的最后一行 如果结束状态是OUT
,通常是这样,则没有区别。如果结束状态为中的(即输入没有尾随空格,如换行符),则用换行符终止输出的最后一行 我明白你的意思。谢谢,我明白你的意思了。非常感谢。
if (state == IN)
putchar('\n');