对于整型变量x,与while(!x)等价的为什么是while(x==0)?

 我来答
111111前的
高粉答主

2020-12-23 · 繁杂信息太多,你要学会辨别
知道小有建树答主
回答量:173
采纳率:100%
帮助的人:5.9万
展开全部

while(!x)当x=0时为真,其余时候为假,与while(x==0)是等价的。

!x,就是非x,非0就是真,非其他数字就是假。就是当x为0才成立。

while语句的原型是while(表达式)语句,当表达式为非0值时,执行while语句中的嵌套语句。  那么while(1)其中1代表一个常量表达式,它永远不会等于0。所以,循环会一直执行下去;

除非设置break等类似的跳出循环语句循环才会中止。while(i--)其中i是一个变量,因此表达式i--有不同的值,依次递减,i--是先取值后减,--i先加后取值,所以i--的值同未执行该自减运算时的i相等。

扩展资料:

while(1) 用途:

1、 一般在调试代码时,为了检测一部分代码是否OK,防止后面的代码干扰执行结果,会在观测点加上while(1)。

2、有些代码检测到运行错误时,会抛出错误(打印、设置错误码),然后进入while(1)。

3、机器需要复位时,停止喂看门狗,进入while(1); 迫使看门狗超时,产生硬件复位。

参考资料来源:百度百科-while语句

百度网友fc027fc
推荐于2016-10-07 · TA获得超过1.1万个赞
知道大有可为答主
回答量:3160
采纳率:83%
帮助的人:765万
展开全部
在c语言中,非0即为1。
那么对于while(x),当x不为0的时候,判断为真,进入循环。
相反,while(!x),当x为0的时候, 判断为真,进入循环,也就相当于while(x==0)。
更多追问追答
追问
为什么while(x),x不为0;while(!x),x为0
追答
在c语言中,非0即为1。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式