我有以下程序:錯誤的概念在C++程序
#include<stdio.h>
int main()
{
int a[5]={5,1,15,20,25};
int i,j,m;
i=(++a[1]);
j=a[1]++;
m=a[i++];
printf(" The value of i is %d\n",i);
printf(" The value of j is %d\n",j);
printf(" The value of m is %d\n",m);
return 0;
}
根據我的概念中,i的值,j和k分別應2,2和15是。但編譯器分別顯示i,j和3,2,15的值?爲什麼?你能解釋這個輸出背後的邏輯嗎?
你知道如何使用調試器嗎?這裏是[教程](http://www.youtube.com/watch?v=z5gBIizwsY0)。 – sashoalm
你的鏈接對我來說是一個很好的資源。謝謝 。 –
如果你很難看到這一點:一次不要做幾件事。如果你把它寫成'++ a [i];這可能非常清楚。我= a;一個[1] ++; j = a [1]; m = a [i];我++;'。一起幹擾陳述沒有任何好處。 – stefan