i++和++i都是c语言里的自增,但是它们自增的顺序不同。
++i表示,i自增1后再参与其它运算,
而i++则是i参与运算后,i的值再自增1。
1、单独赋值时情况
(1)i++ 先执行赋值,再执行a=a+1
void main()
{
int b;
int a = 5;
b = a++;
printf("b=%d, a=%d \n", b, a);
system("pause");
}
(2)++i 先执行a=a+1,再执行赋值
void main()
{
int b;
int a = 5;
b = ++a;
printf("b=%d, a=%d \n", b, a);
system("pause");
}
2、for循环情况
i++情况,先执行前面的语句,再执行i=i+1 因此i是从 0开始
void main()
{
int a[5] = { 1, 2, 3, 4, 5 };
for (int i = 0; i < 5; i++)
{
printf("%d \n", a[i]);
}
system("pause");
}
++i 由于++i与前面语句是用 ; 断开,因此对for循环无影响
void main()
{
int a[5] = { 1, 2, 3, 4, 5 };
for (int i = 0; i < 5; ++i)
{
printf("%d \n", a[i]);
}
system("pause");
}