C++如图语句怎么解释?

定义了abcd,遇到如下问题1_为何可以用逗号执行''语句''尤其是最后一个运算,并不是简单的赋值操作,请详细解释语法,谢谢2_d是如何被赋值的,为何其被赋值为最后一个'... 定义了abcd,
遇到如下问题
1_为何可以用逗号执行''语句''尤其是最后一个运算, 并不是简单的赋值操作,请详细解释语法,谢谢
2_ d是如何被赋值的,为何其被赋值为最后一个''语句''的结果(如果删去最后一个,d被赋值为前面的值,包括赋值操作的值(引出问题三))
3_例如a=b=2,为何可以使用连等号
展开
 我来答
匿名用户
2022-06-24
展开全部
问题1:不是逗号执行了语句。这是逗号表达式,其中每一项可以当成一条独立语句看待,最后一个逗号后的项的计算结果是整个逗号表达式的值。(语法是这么设计的)。
问题2:逗号表达式是括号括起来的,可以作为一个整体,假设为 f, 表示式就变为 d=f; 赋值语句没什么好解释的,至于 f 的值,参考前面解释,其值取决于逗号的语法设计。
问题3:因为早期语法设计者喜欢,所以现在有这个语法,你可以用。如果早期设计者不喜欢这个用法,你就不能这么用了。
总结:学别人设计的东西,要认清楚自己的角色定位, 不要问为啥能这么用,为啥是这样的,这就是游戏规则,前人喜欢,就这么设计了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
microroom
科技发烧友

2022-06-24 · 智能家居/数码/手机/智能家电产品都懂点
知道大有可为答主
回答量:7118
采纳率:83%
帮助的人:1614万
展开全部
1
整个括号中是一个逗号表达式,逗号表达式从左向右依次计算
2
整个逗号表达式的结果就是最右边那个子表达式的值
3
赋值运算符的结合性是从右向左的,a=b=2;就相当于b=2;a=b;
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式