3 回答
TA贡献1887条经验 获得超5个赞
while()是循环语句。
while(expr)表示当逻辑表达式expr为真时,循环运行循环体,直到expr值为假或遇到break语句时退出。
!x是逻辑非操作,当x为0时,值为真,否则值为假。 在这里等效于x==0。
在while(!x)后面有一个分号,表示该循环的循环体为空,即只做判断和循环,并不执行操作。
于是这句的意思就是,如果x为0,则一直循环下去,不做操作,否则继续执行。
如果没有其它线程来改变x的值,那么这里就是一个死循环了。
TA贡献1794条经验 获得超8个赞
while(!x)后面有一个分号,表示该循环的循环体为空,即只做判断和循环,并不执行操作。
!是反运算符,单目,!真 即 假,!假 即 真。
如果x != 0, 则 !x 为 0,即假,如果x == 0,则 !x 为 真。
while()是循环语句。
while(expr)表示当逻辑表达式expr为真时,循环运行循环体,直到expr值为假或遇到break语句时退出。
!x是逻辑非操作,当x为0时,值为真,否则值为假。 在这里等效于x==0。
TA贡献1890条经验 获得超9个赞
!是反运算符,单目,!真 即 假,!假 即 真。
如果x != 0, 则 !x 为 0,即假,如果x == 0,则 !x 为 真。
while循环和 do-while 循环的区别在于,while是先检查是否复合条件再循环,而do-while循环则是在循环体尾检查是否符合条件,这就说明,do-while循环内的语句至少被执行一次。
这好比下面的例子
do{
吃一个三明治 ←←←←← Statement;
我饿吗?(饿,再吃一个三明治↑)(不饿,退出循环↓) }while();
←←←←←←←←←
这就意味着,你至少得吃一个三明治。
如果使用while循环,则像下面这样
我饿吗?(饿,吃↓)(不饿↓) while() {
吃一个三明治 ← ↓ statement;}
←
这说明,你不一定吃一个三明治。
这就是while跟do-while的区别。。。=、=
添加回答
举报