逗号表达式(a=3*5,a*4),a+15的值为( ),a为( )为什么,请细说

 我来答
伯鸿晖仇赞
2020-01-29 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:32%
帮助的人:608万
展开全部
如果说a=(3*5,a*4)有个括号的话,才是如1楼所言。。。。
另外,所不解的是(a=3*5,a*4),a+15
这一整体是一个表达式,还是说这是两个两个不同的表达式。。。
如果这只是一个式子的话,赋值号左边又是什么呢?
若是两个的话,就如二楼所言。。。逗号优先级是最低的了。。比复制号更低。。
回答人的补充
2009-11-13
10:43
如果说表达式是a=(a=3*5,a*4),a+15的话。。那么最终,表达式右边值=75,但是a=15回答人的补充
2009-11-13
10:49
细看楼主题目之后,觉得二楼所补充的恐怕不是楼主本意吧,。。。
逗号表达式(a=3*5,a*4),a+15的值为(
),a的值为(
)。这分明是两个问题!
(a=3*5,a*4),a+15的值为(
)这个问题的答案应该是75
a的值为(
)这个问题的答案才是15
!!!
回答人的补充
2009-11-13
11:11
回复二楼问题。。
看清楼主的题目,以及我所写的回答!
我没说a=75,我所说的是(a=3*5,a*4),a+15这个表达式值为75.。。
a的值还是15.。。
这原本就是两个问题!
假如写成b=(a=3*5,a*4),a+15;
printf("%d,%d",b,a)...就会更明朗了吧
回答人的补充
2009-11-13
12:43
额。。。好吧。。。
(a=3*5,a*4),a+15该表达式的值确实是30,运算过程就是(a=3*5,a*4)此表达式值为60,但a的值实为15,逗号后的值未被赋值,之后a+15,所以最终为30.。。。
第二个问题a的值还是15.。。。
参考http://www.itt8.com/bckf/55957.html
涂云霞泉晓
2020-02-12 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:29%
帮助的人:693万
展开全部
逗号表达式
a=2*6,a*3,a+5
的值:
int
a;
int
s;
s
=
(a=2*6,a*3,a+5);
右边小括号里的是逗号表达式,它分成3个表达式:
(1)a=2*6,
(2)a*3,
(3)a+5
计算顺序是
(1)
(2)
(3);
算毕,把
(3)
“最后一个表达式的结果”
作为
“逗号表达式

结果”
给出。
(1)
式,叫“赋值表达式”
--
c
语言的叫法!
算得
a=12
(2)
式,
表达式

结果

a*3
,
a
的当前值

12

表达式

结果

36,
a自身值

12没变
(3)式,表达式

结果

a+5,上一步说了,
a自身值

12没变,所以这里
a+5
=
12
+
5
=
17
“最后一个表达式的结果”
作为
“逗号表达式

结果”
给出
,
最终给出
17
printf("%d
",s);
打印出
17。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式