a+=a-=(b=4)*(a=3)是哪里出现了错误?

 我来答
商静云敬煦
2019-10-01 · TA获得超过3.3万个赞
知道大有可为答主
回答量:1.2万
采纳率:26%
帮助的人:621万
展开全部
合法,c语言
“等号表达式”的结果,就是等号右边的数值。
例如
a
=
b
=
4;
这里的顺序是
a
=
(b=4);
b=4
就是等号表达式,这个表达式的结果就是4,所以a
也被赋予4。
另一种常见的写法
while
(
(ch
=
getch())
!=
'q')
{
...
}
这里先执行
ch
=
getch(),
然后这个表达式的结果,和'q'进行比较。
回过来,看你的问题
1.
b=4后,b的值是4,表达式值4
2.
a=3后,a的值是3,表达式值3
3.
a-=4*3,也就是
a
=
a
-
12,得到-9,表达式值-9
4.
a+=(-9),a=a-9=-18
所以
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式