在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。
我的GitHub位址:
https://github.com/heizemingjun我的部落格園位址:
http://www.cnblogs.com/chenmingjun我的螞蟻筆記部落格位址:
http://blog.leanote.com/chenmingjunCopyright ©2018 黑澤明軍
【轉載文章務必保留出處和署名,謝謝!】