鱼C论坛

 找回密码
 立即注册
查看: 3758|回复: 5

初学者求帮忙!

[复制链接]
发表于 2013-3-16 19:23:49 | 显示全部楼层 |阅读模式

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

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

x
j=5,q=(j++)+(j++)+(j++),为什么q的结果是22呢?
首先希望老大们热情帮助我一下了!先行谢了!
程序如下:
main(){

  int i=5,j=5,p,q;

  p=(i++)+(i++)+(i++);

  q=(++j)+(++j)+(++j);

  printf("%d,%d,%d,%d",p,q,i,j);

}

我用的是VC 6.0试运行,屏幕打出来的是:
15,22,8,8


小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-3-16 20:31:38 | 显示全部楼层
i++,以i当前值算,则p=5+5+5=15;前缀++j,先执行前两个,依次自增后统一取值,然后后面自增后取值。则q=7+7+8=22
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-3-16 20:32:10 | 显示全部楼层

详细的你可以看一下这个:http://wenku.baidu.com/view/f21196270722192e4536f602.html
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-3-17 19:38:47 | 显示全部楼层
本帖最后由 xhhyi 于 2013-3-17 19:59 编辑

不同编译器结果可能有所不同
有些编译器结果22,有些24,或者其他结果,看编译器怎么处理了
所以尽量不要在同一条表达式中对同一个变量使用多个增减运算符
小甲鱼最新课程 -> https://ilovefishc.com
 楼主| 发表于 2013-3-18 08:28:23 | 显示全部楼层
xhhyi 发表于 2013-3-17 19:38
不同编译器结果可能有所不同
有些编译器结果22,有些24,或者其他结果,看编译器怎么处理了
所以尽量不要 ...

谢谢~~~~{:1_1:}
小甲鱼最新课程 -> https://ilovefishc.com
 楼主| 发表于 2013-3-18 09:18:50 | 显示全部楼层
五月づ雨 发表于 2013-3-16 20:32
详细的你可以看一下这个:http://wenku.baidu.com/view/f21196270722192e4536f602.html

  谢谢~~~~
小甲鱼最新课程 -> https://ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-8-5 15:09

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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