已知int i,a;执行语句i=(a=2*3,a*5),a+6;后,变量i的值
展开全部
执行顺序为:
1
a=2*3 结果a=6
2
i=(a=2*3,a*5)
也就是i=a*5=6*5=30
3
a+6
没有实际意义 ,属于干扰范围.
所以结果i=30.
需要注意点为, 赋值运算优先级高于逗号运算
1
a=2*3 结果a=6
2
i=(a=2*3,a*5)
也就是i=a*5=6*5=30
3
a+6
没有实际意义 ,属于干扰范围.
所以结果i=30.
需要注意点为, 赋值运算优先级高于逗号运算
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
i
=
30
a=6
a*5=30
那么括号的值为30
i=30,a+6
因为赋值运算符优先级大于逗号运算符
所以
i
=30
再计算
a+6
=
30
a=6
a*5=30
那么括号的值为30
i=30,a+6
因为赋值运算符优先级大于逗号运算符
所以
i
=30
再计算
a+6
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
执行顺序:
a=2*3 a=6
a*5 30
赋值 i=30
逗号运算是一个多元运算,它的整个的值都是最后一个表达式的值,
所以(a=2*3,a*5)运算后的结果是30,
然后是赋值运算"i=" 因此是i值为30 后面的逗号运算就不用管了。
如果改成 i=((a=2*3,a*5),a+6); 的话,结果就应该是12,如果你还有什么
不清楚地地方我们再讨论~
a=2*3 a=6
a*5 30
赋值 i=30
逗号运算是一个多元运算,它的整个的值都是最后一个表达式的值,
所以(a=2*3,a*5)运算后的结果是30,
然后是赋值运算"i=" 因此是i值为30 后面的逗号运算就不用管了。
如果改成 i=((a=2*3,a*5),a+6); 的话,结果就应该是12,如果你还有什么
不清楚地地方我们再讨论~
参考资料: http://zhidao.baidu.com/question/185829111.html
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
30
追问
WO ZHI DAO DA AN ,DAN YAO GUO CHENG A ,XIE LA !
追答
你的语句是:
i=(a=2*3,a*5),a+6;
计算机看起来是一个逗号表达式,依次执行如下两行:
i=(a=2*3,a*5)
a+6
第一行是赋值语句,其右边又是一个逗号表达式,依次执行:
a=2*3,a*5
所以结果是30
我也不知道要写多详细,建议你以为提问的时候,写出你不明白的地方,或者你怎么想的,这样大家可以针对性的进行辅导。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询