C++ infinite loop

落花浮王杯 提交于 2019-12-01 14:44:01

You have to use && operator.

while ((control != 0 ) && (control != 1))
(control != 0) || (control != 1)

is equivalent to,

!(control == 0 && control == 1)

but,

(control == 0 && control == 1) 

is always false (there is no such number).

Therefore, the whole expression will always get true value.

The only way to break out

while ((control != 0 )|| (control != 1))

is

!(control != 0) && !(control != 1)

which is equivalent to

control == 0 && control == 1

which is impossible for all integers.

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!