i++和++i有哪些区别?
i++和++i都是实现变量i的自增,两者的区别在于i++是先运算,再加1,而++i是先加1,后运算。但是不管是i++还是++i,最后i的值都是相同的
举例说明:
定义两个值相同的变量,num1和num2。num1先执行num1++,在执行++num1;num2先执行++num2,在执行num2++ 。观察两者有何不同。
int main()
{
int num1 = 1;
printf_s("5 * num1++ = %d\n",5*num1++);
printf_s("5 * ++num1 = %d\n", 5*++num1);
int num2 = 1;
printf_s("5 * ++num2 = %d\n", 5 * ++num2);
printf_s("5 * num2++ = %d\n", 5 * num2++);
printf_s("num1=%d\n",num1);
printf_s("num2=%d\n", num2);
system("pause");
return 0;
}
可以看到输出结果为:
5 * num1++ = 5//num1先运算后自增,所以为5*1=5,运算结束,num1为2
5 * ++num1 = 15//num1先自增后运算,num1此时为2+1=3,所以为5*3=15
5 * ++num2 = 10//num2先自增后运算,所以为5*2=10
5 * num2++ = 10//num2先运算后自增,所有为5*2=10,运算结束后num2=3
num1=3
num2=3
网友评论