检查C时出错

时间:2015-03-04 04:45:15

标签: c error-handling

我还没有在C方面取得进步,所以我需要帮助解决一些问题。 1.假设我想输入字符(y或n),除了那个字符之外我不想要任何其他内容,所以我会使用while循环直到输入。我无法让它运转,这是我的代码。它编译并运行但它不会执行我想要的东西,如果我输入y它继续循环n

printf("Enter code(y/n): \n");
scanf(" %c", &code);
while (code != 'y' || 'n' ){
    printf("Try Again: \n");
    scanf(" %c", &code);
}

2 个答案:

答案 0 :(得分:1)

REPLACE

while (code != 'y' || 'n' ){< - 条件总是评估为TRUE

使用

while ((code != 'y' )&&(code != 'n')){

答案 1 :(得分:1)

你有的行

while (code != 'y' || 'n' ){

相当于:

while ((code != 'y') || 'n' ){

始终评估为真。

您需要的逻辑是:

while (code != 'y' && code != 'n' ){