c语言问题?

8%3不是2吗,为啥if还成立呢... 8%3不是2吗,为啥if还成立呢 展开
 我来答
月光下的qq
2020-11-15 · 科技优质答主
月光下的qq
采纳数:392 获赞数:672

向TA提问 私信TA
展开全部
您好,很高兴回答您的问题。
在c语言中没有专门的逻辑型数据,那么就用1代表逻辑真,用0代表逻辑假,除了0之外的其余的所有的数据都可以认为是1,也就是代表逻辑真。题目中第一次运行循环时x的值为8,满足大于0的条件,所以运行循环体,首先判断x%3的结果,因为c语言规定整数相取余,结果还是整数,所以结果是2,也就是我们所说的逻辑真,运行printf语句,输出8然后x变成7。再遇到continue,结束本次循环,进去下一次循环。运行x--后,x变成了6,%3结果为0,不满足if条件,所以继续进去下一次循环,做x--,x变成了5满足x%3为真的条件,就再一次执行第一个printf语句。以此类推,所以最后的结果为D。
最大的宝宝
2020-11-15 · TA获得超过828个赞
知道小有建树答主
回答量:1569
采纳率:67%
帮助的人:412万
展开全部
非零值均视为真,所以if成立
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式