(C 语言)有没有办法在 while 循环中为两个不同的可能整数值放置条件参数?

(C language) Is there a way to put conditional arguments for two different possible integer values in a while loop?

所以假设我们有一个函数可以接受正整数或负整数二进制字符串并计算到达最左边有效位所需的右移量

我有这样的东西

int shiftCount(int x){
    int count = 0;
    int temp = x;

    while((temp!=1) || (temp!=-1)){   //if negative int, terminate at first -1
        count+=1;
        temp=temp>>1;
    }

    return count;
}

这不是return我想要的。它以永无止境的循环结束,我认为这是因为它试图满足这两个条件。是否有一种实际的方法可以在 while 循环中轻松测试 2 个不同的带符号值,或者我是否必须制作 2 个单独的条件语句,每个条件语句都有自己的 while 循环?

你的或总是正确的。由于 temp 不能同时是 1-1,它总是不是 1 或不是 -1.