将输入与两个字符进行比较,会产生奇怪的警告

时间:2016-09-09 21:03:35

标签: c logic

我正在尝试将输入与两个不同的字符进行比较,并在满足任一条件的情况下执行if条件。

到目前为止我的代码是:

if(i == 'Y'||'y') {
        //code here
}

但GCC编译器发出警告:

warning: use of logical '||' with constant operand
      [-Wconstant-logical-operand]

为什么会这样?

2 个答案:

答案 0 :(得分:1)

你的意思是:

  if(i == 'Y'|| i == 'y')

编译器正在告诉你你需要知道什么!

答案 1 :(得分:0)

如果您不想重复条件(即一长串选项),您可以使用:

if (strchr("Yy", i) != NULL) {
    ....
}

您需要#include <string.h>