鱼C论坛

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

++i 的小问题

[复制链接]
发表于 2015-7-5 21:32:31 | 显示全部楼层 |阅读模式

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

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

x
#include<stdio.h>
int main()
{
        int a=5,b=5,d=0,i=0;
        for(;i<3;i++)
        {
                d=d+(++a);
        }
        printf("  %d",d);
        d=(++b)+(++b)+(++b);
        printf("\n  %d\n",d);
}
为什么 第一次算的结果是21 第二次结果是22
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2015-7-6 23:58:34 | 显示全部楼层
mse9591 发表于 2015-7-6 23:33
额,  我今天专门就这个问题做了个小测试

#include

额,输出时都是先写入到一个叫堆得缓冲区中,然后再运算放到堆中的数据
然后牵扯到列队问题,先入后出,后入先出,所以他是倒过来运行的、先 --i得9再i--还是9然后++i这里是将9+1
后缀是在下一次循环是才执行的,接着i++ 还是10,结果回到第一行i还是10
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-7-7 00:03:51 | 显示全部楼层
mse9591 发表于 2015-7-6 23:33
额,  我今天专门就这个问题做了个小测试

#include

我都没想到要那么做,才能得到结果,看完这程序。瞬间懂了
谢谢了哈
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-9-30 04:49

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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