C语言if语句问题?

a=5,b=1,c=1if(a=c=b)a=4.a和b是多少?... a=5,b=1,c=1
if(a=c=b)a=4.a和b是多少?
展开
 我来答
cdyzxy
2020-01-06 · TA获得超过2.1万个赞
知道大有可为答主
回答量:1.4万
采纳率:84%
帮助的人:3634万
展开全部

执行顺序是这样的:

a=5,b=1,c=1

执行语句:a=c=b; 即a=b; c=b;[a=1,b=1,c=1]

用赋值成功的值(即b的值)作为逻辑值进行判断,0值为假,非0为真

因此执行a=4;的赋值[a=4,b=1,c=1]

良长娟玉楠
2020-02-26 · TA获得超过2.9万个赞
知道大有可为答主
回答量:1.1万
采纳率:33%
帮助的人:910万
展开全部
答案就是43啊,else跟与它最近的未分配的if配对,程序可理解为:
#include
"stdio.h"
void
main()
{
int
a=3,b=4,c=5,d=2;
if(a
{
if(b>c)
printf("%d",d++
+1);
else
printf("%d",++d+1);
}
printf("%d\n",d);
}
如果答案是2说明你题目抄错了,
if(ab),这样结果就是2,因为只执行最后一句
printf("%d\n",d);。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
三天打鱼N
2020-01-06 · TA获得超过1540个赞
知道大有可为答主
回答量:2032
采纳率:74%
帮助的人:584万
展开全部
a=c=b 一个等号是赋值语句 由于b是1 则a和c被赋值1
然后这个赋值语句在if里做条件 这个语句返回1 (C语言里 不为0的值是true) 条件成立 下面a赋值为4
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
城堡单片机
2020-01-06 · 超过16用户采纳过TA的回答
知道答主
回答量:117
采纳率:0%
帮助的人:6.5万
展开全部
(a=b=c)实际上就是把b的值赋给a和c,括号里计算完毕,a、b、c的值都为1,也就是if语句的条件是成立的。
条件成立,a会被赋值4,最后结果a=4,b=1。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2020-01-06
展开全部
if(a=c=b) 这个式子 是 怎么回事?
a=c=b 是数学表达式,非 C语言表达式
if 后 通常是 关系表达式,== 表示 相等,一个 = 是赋值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式