cfree能够输入但是没有输出

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

运行时可以输入但是没有输出

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

#include
#include
int prime(int m);
int main()
{int n,i,all;
do
{printf("输入一个大于6的偶数:");
scanf("%d",&n);
}while(n%=1||n<6);
for(i=3;i<=n/2;i=i+2)
{if (prime(i)==1)
{
all=n-i;
if (prime(all)==1)
{
printf("%d=%d+%d",n,i,all);
}

}

}
printf("\n");
return 0;
}
int prime(int a)
{int i,you;
for(i=2;i<=sqrt(a);i++)
{if(a%i==0) break;
}
if(i<=sqrt(a))
{you=0;}
else
{you=1;}
return you;
}

运行结果及报错内容

img

我想要达到的结果

这个代码要怎么改啊

while(n%=1||n<6)是个啥玩意
=的优先级低,所以最后执行
逻辑等价于n=n%(1||n<6),1||n<6恒为真,所以最终n=n%1,不管你输入多少,最终n都是0呀