C语言题,希望能给出可靠的理由

C语言:语句while(!E);中的表达式!E等价于: A.E==0 B.E!=0 C.E!=1 D.E==1

B.E!=0
你试试就知道了,0为false,非0都是true

A, !在C语言中表示“不成立”或者“反”的意思,while(E)为E成立,即E不为0,while(!E)为E不成立,即E为0,while里一般判断bool值,但是也判断是否为0。:)

看错了,前面还有一个感叹号,那么选A

e=0,为赋值运算,e==0为比较运算,此题选a

非常感谢大家都回答(ง •̀_•́)ง