设int i=5,f=15; 则执行语句 if(i=0) f-=5; 后i和f的值分别是?

 我来答
Yuqi_Tan

2021-12-25 · TA获得超过8.9万个赞
知道大有可为答主
回答量:9918
采纳率:93%
帮助的人:3458万
展开全部
i和f的值分别是0和15。
因为if后面的i=0不是逻辑表达式,而是一个赋值语句,所以赋值后i的值就成为0。
接下来执行if(),是条件分支语句,()内的逻辑值决定了后面的f-=5是否执行。
因为此语句if后面的()内不是关系表达式,也不是逻辑表达式,而是一个普通的表达式(赋值语句也可认为是一个跟数值相关的普通表达式),c语言就把这个数值解释为逻辑值,并且规定:数字0为逻辑假,一切非零数字都是逻辑真。
此处括号内的i=0,代表这个表达式的值是0,被c语言解释为逻辑假,所以,不执行后面的f-=5,当然,f的值还是15了。
有什么问题请留言。
槿锦玉
2019-12-25
知道答主
回答量:3
采纳率:0%
帮助的人:1447
展开全部
i=0
f=10
因为if(i=0)中的i=0是赋值语句,而不是判断语句i==0;所以无论怎样if语句总真,所以后面语句总执行
追问
可答案是0,15
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式