在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\n",a[i++]);//輸出的值為1,因為是i++,所以是先使用a[0]的值,i再加上1,即先輸出a[0]的值。 8 9 i = 0; 10 printf("%d\n",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。
