若有定义 int m=5,y=2;,则执行表达式 y+=y-=m*=y后y的值是
时间: 2023-10-08 17:10:59 浏览: 226
执行表达式 y+=y-=m*=y 的顺序如下:
1. m*=y,先将m和y相乘,结果为10,再将m的值10赋给m,此时m的值为10。
2. y-=m,先执行m的值10赋给y,此时y的值为10,再将y的值10减去m的值10,结果为0,然后将0赋给y,此时y的值为0。
3. y+=y,将y的值0加上自身的值0,结果仍为0。
4. 最后执行 y+=0,将0赋给y,此时y的值为0。
因此,执行表达式 y+=y-=m*=y 后,y的值为0。
相关问题
5.若有定义 int m-5,y-2;,则执行表达式 yt=y-=m*=y后y的值是
执行表达式 yt=y-=m*=y 的顺序如下:
1. m*=y,先将m和y相乘,结果为-10,再将m的值-10赋给m,此时m的值为-10。
2. y-=m,先执行m的值-10赋给y,此时y的值为-10,再将y的值-10减去m的值-10,结果为0,然后将0赋给y,此时y的值为0。
3. 最后执行 yt=y,将y的值0赋给yt,此时yt的值为0。
因此,执行表达式 yt=y-=m*=y 后,y的值为0。
若有定义:int a=5;float x=3.6,y=4.5;则表达式 (x/2)+((a%3)*((int)(x+y)%2)) 的值是()
根据引用\[1\]中的信息,我们可以得知以下符合C语言语法的表达式是:D. double(x)/10。根据引用\[2\]中的信息,我们可以得知表达式a+b/d*c的值是:B. 2.5。根据引用\[3\]中的信息,我们可以得知以下选项中错误的赋值表达式是:A. a=(b=4)=3。根据问题中给出的定义,我们可以计算表达式 (x/2)+((a%3)*((int)(x+y)%2)) 的值为:(3.6/2)+((5%3)*((int)(3.6+4.5)%2)) = 1.8 + (2 * (int)(8.1)%2) = 1.8 + (2 * 8%2) = 1.8 + (2 * 0) = 1.8 + 0 = 1.8。所以,表达式 (x/2)+((a%3)*((int)(x+y)%2)) 的值是 1.8。
#### 引用[.reference_title]
- *1* *2* *3* [C语言程序设计习题集](https://blog.csdn.net/weixin_30010773/article/details/117097335)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]