鱼C论坛

 找回密码
 立即注册
查看: 3362|回复: 6

新手问题++i

[复制链接]
发表于 2011-11-4 15:00:55 | 显示全部楼层 |阅读模式

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

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

x
#include <stdio.h>

void main()
{
    int i=5,j=5,p,q;
        p=(i++)+(i++)+(i++);
        q=(++j)+(++j)+(++j);
        printf("%d,%d,%d,%d\n",p,q,i,j);

       
       
}
为什么q的值是22,怎么不是6+7+8呢
小甲鱼最新课程 -> https://ilovefishc.com
头像被屏蔽
发表于 2011-11-4 15:58:31 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2011-11-4 16:21:08 | 显示全部楼层
LS说得对,要研究也是研究这个题目在不同的C编译器上可能有几种不同的输出。
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2011-11-4 16:45:37 | 显示全部楼层
更加新的新手路过……
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2011-11-4 17:40:55 | 显示全部楼层
我只能给你说是7+7+8=22
具体的不用深究,只要掌握原理即可
以后自己编程时也不要这样写就好了。。。
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2011-11-6 15:12:13 | 显示全部楼层
我发现它的规律是这样的先3*6等于18然后加1加1加2等于22,你不信你再加一个(++j)上去,四个(++j)的话是4*6然后加1加1加2加3等于31,五个(++j)的话就加1加1加2加3加4等于41,就这样下去,你看看吧,按照那个数量加上去。
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2011-11-6 15:32:53 | 显示全部楼层
不用纠结这个问题了 编译器不同结果也不同 以后自己写的时候别这样写就OK了
小甲鱼最新课程 -> https://ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-11-9 07:09

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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