鱼C论坛

 找回密码
 立即注册
查看: 3243|回复: 13

自增减问题

[复制链接]
发表于 2012-4-4 19:30:35 | 显示全部楼层 |阅读模式

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

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

x
    nt i=3;

    int j=4;

    int a =( i++) + (i++);

    int b = (++j )+ (++j);
    printf("%d, %d\n", a, b);
这里为什么 (++j)+(++j)= 5+5 不是 4+ 5
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-4-4 20:19:18 | 显示全部楼层
  1. #include <stdio.h>

  2. void main()

  3. {
  4. int i=3;

  5. int j=4;

  6. int a =( i++) + (i++);

  7. int b = (++j )+ (++j);
  8. printf("%d, %d\n", a, b);
  9. }
复制代码

我这边运行的结果是6,12哦,好象和你说的不一样哦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2012-4-4 20:25:38 | 显示全部楼层

对,我搞错了,MD我都算糊涂了,这个问题我想了一下午,换了好几种,我现在有点蒙了

应该是12
  我的意思是为什么是12 而不是 10   
  我就是针对
   int b = (++j)+ (++j) 这个的,如果先增1,应该是 5+5 啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-4-4 20:32:50 | 显示全部楼层
本帖最后由 hkcx3000 于 2012-4-4 20:39 编辑

你还是看看专门的帖子,我刚才那样说好象也不太对,探讨一下吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2012-4-4 20:42:30 | 显示全部楼层
hkcx3000 发表于 2012-4-4 20:32
i++应该是先i后++,我的理解是先执行表达式的运算,后再自加两次,i变成5;而++j是先++后j,先自加,因为有 ...

是啊,但是如果这样理解,

那么 如果  j =1
  (++j)+(++j)+(++j)+(++j) =实际等于 3+3+4+5= 15 对吧
为什么不是 3+3+3+3 就是((++j)+(++j))+ ( (++j) + (++j)  )= 12呢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-4-4 20:55:14 | 显示全部楼层
给你链接,讲的很明白了,3个以上还要考虑一个加法左结合性的问题。
http://bbs.fishc.com/thread-15954-1-1.html
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2012-4-4 21:05:41 | 显示全部楼层
算了,先这样吧,你发的连接我是看过了才问的,没关系,我才学2天, 慢慢来,谢谢你了
  我先把它当成 一个硬性规定吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-4-4 21:06:40 | 显示全部楼层
http://bbs.fishc.com/thread-15954-1-1.html
我在这里面说的很明白了,那些东西是编译器的问题,理解即可,不用去记下来
而且很不提倡这样的用法!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-4-4 21:14:11 | 显示全部楼层
一般不建议把    i++  用在复合表达式中   建议把   i++   独立使用
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-4-4 21:34:37 | 显示全部楼层
(++j)+(++j)=6+6好不
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2012-4-4 21:39:08 | 显示全部楼层
湮汐 发表于 2012-4-4 21:06
http://bbs.fishc.com/thread-15954-1-1.html
我在这里面说的很明白了,那些东西是编译器的问题,理解即可 ...

谢谢啊,因为开始你不在嘛,我就和他们讨论了一下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-4-4 21:42:24 | 显示全部楼层
shadowkill 发表于 2012-4-4 21:39
谢谢啊,因为开始你不在嘛,我就和他们讨论了一下

没事,学习C语言,要坚持下去哦!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2012-4-4 21:48:40 | 显示全部楼层
湮汐 发表于 2012-4-4 21:42
没事,学习C语言,要坚持下去哦!

我会的,以后还要多请教啊
  

   老湿
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-4-4 21:51:29 | 显示全部楼层
shadowkill 发表于 2012-4-4 21:48
我会的,以后还要多请教啊
  

我还谈不上是老师呢! 我也只是一个卑微的学习者呢! 大家互相学习!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-4-19 08:57

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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