您的位置:首页 > 其它

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

2017-01-03 18:37 597 查看
一、
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++的结束标志。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息