!x就是x为0的时候为真,其他都为假,while(!x)可以理解为是while(x==0)c的 x!=1 为真,那么x为456789都是为真呀,只要x不是1就为真,跟这个是不一样的
while(!x) 意思应该是当为1的时候会满足条件,就执行。为0,就不执行,退出while循环。