c语言中遇到的问题,循环超时

问题遇到的现象和发生背景

又死循环啦

用代码块功能插入代码,请勿粘贴截图

#include 
#include 
int main()
{
    int T,x,i=0,y=1;
    scanf("%d",&T);
    while(iscanf("%d",&x);
        x<<1;
        y<<1;
        while(x&y<=0||x^y<=0)
        {
            y<<1;
        }
        printf("%d\n",y);
        y=1;
        i++;
    }
    
    return 0;
}
我想要达到的结果

为什么又死循环了

第13行,把while改为if()语句吧,或者加一句break;语句

死循环只可能出现在13行的while那里
是不是代码逻辑有问题

1、我不知道你要干嘛
2、位移结果需要赋值给原变量 x=x<<1
3、第二个while条件有问题

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^