鱼C论坛

 找回密码
 立即注册
查看: 2512|回复: 7

小甲鱼的题看不懂

[复制链接]
发表于 2012-1-15 11:31:34 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
x=17,y=5
m=x%=x++/--y;m为多少 x呢?不要用软件VC或其他






小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-1-15 11:57:37 | 显示全部楼层
由于赋值是从右到做运算,先看--y可得出是4,然后是x++,为18,得x++/--y为4,x%4为4,所以的出就是4.。。没经过软件运算,,,个人看法
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-1-15 11:59:16 | 显示全部楼层
:lol:lol总感觉这个问题有时候很难理解。。。。求共同探讨。。
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-1-15 12:17:52 | 显示全部楼层
m=x%=x++/--y
在同一个表达式里企图通过++和%=修改x的值,因此这个题目的答案是编译器相关的。
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-1-15 14:28:45 | 显示全部楼层
首先说明 我是新手
我在VC6.0上运行程序表达式以后  得出结果是1;
我的思想是:1.运算x++/--y 这个表达式 得出结果为4 2.再运算 x %= x++/--y  ,此时上一表达式已经得出结果 X++也就是说 X的值要增加1, 但并没有影响到赋值号右边X的值 即X的值还是等于17  
所以表达式 m = 17%= 4    m = 1;
值得注意的是: x%=x++/--y 这个表达式 X中的值被改变的情况 由于x%=x++/--y等于x = x%(x++/--y)
也就是说x的值已经被改变 得出结果是2!:lol
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-1-15 15:08:01 | 显示全部楼层
和5#楼答案一样 高人说说答案呗

小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-1-15 15:56:05 | 显示全部楼层
4楼老师正解~
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-1-15 17:42:24 | 显示全部楼层
建议看看谭浩强的.书第58页。
小甲鱼最新课程 -> https://ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-11-10 20:35

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表