#include <stdio.h>

int main(void){
int a[]={0,0,0,0};
int k=1;
a[k]=1;
a[a[k]]=2;
printf("%d\n",a[a[k]]);
return 0;
}

で、出力が2ではなく0になるのですがどうしてでしょうか。
ご教授のほどよろしくお願いします。