++i 与 i++ 到底有什么不同? i++ 和 ++i 解析!
一、
i++; 使用完毕后再自加,遇到分号结束" ; "
++i;  先对 i 自加,然后再使用它
i = 2;
num = (i++) + (i++) + (i++) + (i++);
输出  num = 8,i = 6;
num = (++i) + (++i) + (++i) + (++i);
        3       4       5       6
输出  num = 18,i = 6;
i = (i++) + (++i) + (i++) + (++i)
  i = 3 + 3 + 3 + 4 + 1 + 1 = 15;
i = (++i) + (i++) + (++i) + (++i)
  i = 3   +   3   +   4    +   5  +  1 = 16;
i = i * ((i++) + (++i))
  i = 3 * (3 + 3 )  + 1 = 19;
二、
int main()
{
    int i = 2;
    func(i++;++i);
    return 0;
}
void func(int a,int b)
{
    printf("a = %d\n",a);
    printf("b = %d\n",b);
}
  输出 a = 3
       b = 4
解释: 函数传参是从右边开始传参的,++i 被替换成变量, i++被替换成数值,分号,逗号和函数的小括号都是i++的结束标志。
阅读更多
个人分类: C语言
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

++i 与 i++ 到底有什么不同? i++ 和 ++i 解析!

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭