关于while(!x)是什么意思,如何解决?


main()
     {  int x;
        x=3;
        do
        {  
          printf(“%d,x--);
        }while(!x);            
     }

这是什么意思,为什么最后结果是3

do while 循环会先执行do里的内容printf(“%d”,x--); !x是逻辑非操作,当x为0时,值为真,否则值为假,while(expr)表示当逻辑表达式expr为真时,循环运行循环体,直到expr值为假或遇到break语句时退出。

!是逻辑非,这里可以是取反的意思吧,就是说当while()里条件为假的时候,进入这个循环,也就是!x等于0时继续循环