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
所以
已赞过
已踩过<
收起
为你推荐: