0
#include<conio.h>
#include<stdio.h>
void fun(int []);
int main(){
int arr[10] = {1,1,1,1,1};
int i=0;
printf("Before Change : ");
for(i=0;i<5;i++){
printf("%d, ",arr[i]);
}
fun(arr);
printf("\nAfter Change : ");
for(i=0;i<5;i++){
printf("%d, ",arr[i]);
}
getch();
}
void fun(int a[])
{
int i;
for(i=0;i<5;i++){
//a[i] = a[i]++; // Comment 1
//a[i] = ++a[i]; // Comment 2
}
}
當我使用註釋1個報表然後我得到這樣的輸出:沒有在數組元素的變化
變更前:1,1,1,1,1,
變化後:1,1 ,1,1,1,
當我使用註釋2語句然後我得到這樣的輸出:
變更前:1,1,1,1,1,
變更後:2,2,2,2,2,
在這裏,我知道爲什麼註釋2聲明得到陣列的變化,由於前期增量。 但我的問題是,爲什麼評論1個語句無法更改數組元素, 因爲在其他功能所做的更改(這裏是有趣的())能夠以實現同一陣列相同的變化。
那麼,爲什麼數組元素不評論1個語句改變?
。這都是不確定的行爲。如果你想增加數組的元素,那就寫'a [i] ++;'。故事結局。 – user3386109
後增 - >說a = 5; b = a ++;那麼b的值爲5,之後一個值將增加到6. pre increment - > b = ++ a; a的第一個值將增加到6,然後分配給b。 –