鱼C论坛

 找回密码
 立即注册
查看: 3993|回复: 4

关于i++与++i的问题

 关闭 [复制链接]
发表于 2011-3-18 10:20:23 | 显示全部楼层 |阅读模式

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

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

x
#include <stdio.h>

void main()

{
        int i = 5, j = 5 , p ,q ;
       
        p = (i++)+(i++)+(i++);

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

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

思路:()的优先级最大,要先算i++,第一个i++等于6 第二个也是6,第三个还是6,感觉结果应该是18吖,怎么是15呢

同样q的也不明白,还有就是把()去掉以后,有成什么样子了。迷茫中,求高手解惑。最好详细点,别跳步骤,本人比较笨。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-3-18 17:22:03 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-3-19 09:52:13 | 显示全部楼层
没学反汇编呢,看不懂 - -! 有其他的解释吗,希望发一下,笨人比较愚钝。谢谢了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-9-10 15:19:13 | 显示全部楼层
好东西,谢谢分享,学习了~~~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-9-14 10:10:12 | 显示全部楼层
i++程序执行完才进行加1,而++i则先加1在执行程序。
p = (i++)+(i++)+(i++); 程序完才进行加1,所以就是5,5,5=15了!
q = (++j)+(++j)+(++j);程序先加1在执行程序,也就是6,7,8 = 21了!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-4-19 05:35

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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