在c语言中,数组 a[i++] 和数组 a[++i] 有区别吗? && 在c语言中,数组 a[0]++; 又是什么意思?

在c语言中,数组 a[i++] 和数组 a[++i] 有区别吗?

首先我们先看下面的内容:

b = a++;    //先计算表达式的值,即先把a赋值给了b;然后a再自加1。
b = ++a;    //先a自加1后;然后把a自加后得到的赋值给b。

小结:谁在前面先计算谁!!!

有区别,举例说明:

 1 #include <stdio.h>
 2 
 3 int main ()
 4 {
 5     int a[3] = {1,2,3};
 6     int i = 0;
 7     printf("%d
",a[i++]);//输出的值为1,因为是i++,所以是先使用a[0]的值,i再加上1,即先输出a[0]的值。
 8     
 9     i = 0;
10     printf("%d
",a[++i]);//输出的值为2,因为++i,所以先直接使i加1,再输出a[1]的值。
11     
12     return 0;
13 }

 在c语言中,数组 a[0]++; 又是什么意思?

a[0]表示数组中的第一个值,可以把它看成一个变量x,
a[0]++也就是数组中第一个值+1再存放到原位。

比如:int a[2];
其中a[0]=1; a[1]=5;
a[0]++以后,a[0]的值变为2。

原文地址:https://www.cnblogs.com/chenmingjun/p/8342392.html