【发布时间】:2021-06-30 05:46:40
【问题描述】:
作为一个初学者,当我注意到 OR(在 C || 中)打破了 for 循环时,我一直在打字。代码如下:
#include <stdio.h>
int main() {
char ch;
printf("Typing program...\n");
printf("Type away:");
for(;;) {
ch = getchar();
if(ch == '~' || '`') {
break;
}
}
return(0);
}
编译后的代码似乎没有返回任何错误,但是当我粘贴 OR 运算符的右侧时,for 循环会中断。什么可能导致这种情况?代码来自 C for Dummies,而我正在做“练习”。我尝试的所有其他方法都会导致错误。
【问题讨论】:
-
"编译后的代码似乎没有返回任何错误," 您可以在使用 gcc 或 clang 时使用
-Wall -Wextra -Werror编译来解决此问题。使用 microsoft 编译器时使用-W4 -WX编译。
标签: c for-loop if-statement