我有这个代码:
#include<stdio.h>
main()
{
static int a[10];
int i=5;
a[i]=i++;// **statement 1**
printf("%d %d",a[6],a[5]);
}
我得到以下输出:
0 5
由于赋值运算符是 RTL,不应该i++;
在语句 1中递增,然后 a[i] 在赋值之前实际上变为 a[6] 吗?
不是声明 1评估为a[6]=5;
?
为什么 a[5] 变成 5?