在scanf功能上无限

pr1*_*m3x 1 c

这段代码有什么问题?即使输入"1"或"2",while循环也会继续运行.

#include "stdio.h"

void helper(void);
int main() {
    int s;

    scanf("%d", &s);

    while(s!=1 || s!=2) {
        helper();
        scanf("%d", &s);
    }

    return 0;
}

void helper(void) {
    printf("Please use 1 or 2 as option");
}
Run Code Online (Sandbox Code Playgroud)

das*_*ght 6

任何数字不等于1 不等于2:你可以肯定:)

你可能想写的是&&.

while(s!=1 && s!=2) {
}
Run Code Online (Sandbox Code Playgroud)