C语言。表达式的值“(x=2*5,x-3),x*4“的值怎没求

 我来答
lmm6895071
2015-01-22
知道答主
回答量:18
采纳率:0%
帮助的人:11.2万
展开全部
逗号表达式,例如:Y=(x=2*5,x-3),x*4;则先计算x=2*5,x=10;接着计算 Y=(10,7),40;
逗号表达式只取最后一个数据,所以Y=7;
假如加一个括号是另外一个情况:
Y=((x=2*5,x-3),x*4);则先计算x=2*5,x=10;接着计算 Y=((10,7),40);
逗号表达式只取最后一个数据,所以Y=40;
追问
没加括号,参考答案是40
karashi
2015-01-22 · TA获得超过1765个赞
知道小有建树答主
回答量:1160
采纳率:61%
帮助的人:564万
展开全部
40
首先x=10,表达式是x*4的值,所以是40
更多追问追答
追问
不是应该先算括号里面吗,我这样算的,括号里面是x-3的值是7然后算x=7,x*4的值,28为什么不对阿
追答
x-3没有赋值啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
朝华扰龙山0fc
2024-02-25
知道答主
回答量:3
采纳率:0%
帮助的人:349
展开全部

在c语言中这是属于逗号表达式中的嵌套,也就是表达式1嵌套另个表达式。

(x=2*5,x-3)为表达式1,并嵌套了一个逗号表达式。

x*4为表达式2.

表达式1结果为7,但在表达式1中x的值始终为10,因为10赋值给x,并存储到x的内存单元中,而表达式1的结果7并没有被任何对象给接收到,所以x为10.

在表达式2:x*4就会等于40.

整个表达式的值为最后一个表达式的值,表达式2为最后一个值,所以这个逗号表达式的值为40.

但是在实际中,在实际中x的值会是10,也就直接就取出x的赋值,也就是最后一个表达式的值也没有被任何对象给接受,所以最终答案为10.

在这个表达式的基础上做出一点修改(x=2*5,x-3),x=x*4;

则x的值就会等于40,因为在最后将表达式2的值赋值给x。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xiaohualang
2015-01-22 · TA获得超过130个赞
知道小有建树答主
回答量:402
采纳率:0%
帮助的人:250万
展开全部
不好意思,没看懂题目的意思...
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式