while(!x!=0)是什么意思?解决思路

while(!x!=0)是什么意思?
int   x=0,s=0;
while(!x!=0)   s+=++x;
printf(“%d”,s);

运行程序段后输出1?


------解决方案--------------------
int x=0,s=0;
while(!x!=0) s+=++x;
printf(“%d”,s);

运行程序段后输出1?

!x!=0 按照优先级相当于(!x) != 0,起初,x == 0,!x!=0为真,
在循环体里x增1,s = 1,!x!=0为假,跳出循环,输出s为1。