当我注释掉语句2和3时,i
的值为2,但是当我不注释时,i
变成3。这是为什么?
#include <stdio.h>
int main()
{
int a[5]={5,1,15,20,25};
int i,j,k=1,m;
i=++a[1]; //Statement 1
j=a[1]++; //Statement 2
m=a[i++]; //Statement 3
printf("%d %d %d",i,j,m);
return 0;
}
最佳答案
在语句 3 中,您的代码递增 i
的值:
m = a[i++];
如果您将其分成以下两行,则更容易注意到:
m = a[i];
i++;
注意:顺序很重要!由于这是后递增(i++
,而不是 ++i
),因此先使用 i
的值,然后再递增。
关于c - 这个输出背后的过程是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27094919/