在 K&R,第二版,第 21 页,练习 1-12 中说:“编写一个程序,每行打印一个单词的输入。”
在使用“The C Answer Book”中的代码时,Xcode 有两行向我发出警告,称“预期表达式”。它们是第一个
if
语句,其中包含 OR 运算符;以及 putchar(\n)
表达式。
有什么想法为什么会发生这种情况吗?
如有任何帮助,我们将不胜感激!
谢谢!
#include <stdio.h>
#define IN 1 // inside a word
#define OUT 0 // outside a word
// print input one word per line
int main(int argc, const char * argv[]) {
int c, state;
state = OUT;
while ((c = getchar()) != EOF) {
if (c == `` || c == `\n` || c == `\t`) {
if (state == IN) {
putchar(`\n`); // finish the word
state = OUT;
} else if (state == OUT) {
state = IN; // beginning of word
putchar(c);
} else // inside a word
putchar(c);
}
}
}
您在使用单引号 (
`
) 的地方使用了反引号 ('
)