您的位置:首页 > 编程语言 > C语言/C++

在C语言中 i++与++i的区别

2015-07-31 13:40 686 查看



#include<stdio.h>

/*

自增运算: i++(后加加) ++i(前加加) i-- --i

对于变量自身来说,无论是i++还是++i,它都可以实现自增运算。

如果它他们在表达式中就有所区别了。

i++是先参与表达式的运算在进行自增运算,比如下面test1()里面的代码

int a = i++; 可以理解为先进行a = i;然后进行 i = i+1运算,所以test1的结果为

a = 5; i = 6;

++i是先进行自增运算,在参与到表达式的运算中。比如test2()里面的代码

int a = ++i;可以理解为 先进行 i = i+1的运算,在进行 a = i;运算,打印结果为

a = 6, i = 6;

*/

void test1()

{

int i = 5;

int a = i++;

printf("a = %d ,i = %d\n",a,i);

}

void test2()

{

int i = 5;

int a = ++i;

printf("a = %d, i = %d\n", a, i);

}

int main()

{

test1();

test2();

return 0;

}

/*

下面的代码的打印结果是 b = 12 a = 7

原因是因为 (++a)是先进行自加,所以此时a = 6;

++a 是先参与表达式的运算,所以 b = a + a = 12,参与完表达式的运算之后再进行自加

a = a+1 = 7;

*/

#include <stdio.h>

int main(int argc, const char * argv[])

{

int b;

int a = 5;

b = (++a) + (a++);

printf("b=%d, a=%d\n", b, a);

return 0;

}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: