i++和++i的区别
i++和++i都是c语言里的自增,但是它们自增的顺序不同
那么,它们到底有什么区别呢?
话不多说,直接上代码
//++i和i++的区别 #include <stdio.h> int main() { //① int i=2; i++; printf("%d\n",i); //3 //② int i1=2; ++i1; printf("%d\n",i1); //3 //③ int i2=2; int j2 = i2++; printf("%d\n",j2); //2 因为在给某一个变量赋值的时候,i++ 就是先自增,返回增加之前的值。 printf("%d\n",i2); //3 //④ int i3=2; int j3 = ++i3; printf("%d\n",j3); //3 先增加,返回增加之后的值。 printf("%d\n",i3); //3 //⑤ int i4=2; printf("%d\n",i4++); //2 //⑥ int i5=2; printf("%d\n",++i5); //3 //⑦ int a=0,b=9; a++&&b++; printf("%d\n",b); //9 因为a++先增加返回增加之前的值等于0 0&&0和0&&1都得0,所以后面不执行,所以不增加 //⑧ int a1=0,b1=9; ++a1&&b1++; printf("%d\n",b1); //10 ++a1先增加返回增加之后的值 /* 总结来说, i++和++i 在给变量赋值(例③和④)或者在打印输出语句中直接使用(例如⑤和⑥)遵循 i++ 先增加 返回增加之前的值 ++i 先增加 返回增加之后的值 而当i++和++i 单独出现使用时(例如①和②),无论怎样都会加1; */ return 0; }
我们可以看下控制台输出的结果
总结来说
i++和++i 在给变量赋值(例③和④)或者在打印输出语句中直接使用(例如⑤和⑥)遵循 i++ 先增加 返回增加之前的值 ++i 先增加 返回增加之后的值 而当i++和++i 单独出现使用时(例如①和②),无论怎样都会加1;