【发布时间】:2014-01-28 08:00:34
【问题描述】:
int main(){
int arr[2]={30,40};
printf("%dn",i[arr]);
return 0;
}
我在考试中发现了这个问题,给定的解决方案是 40
但我认为它应该给出一个错误,因为 i 是未定义的。 或者,可能是我错过了什么。 请解释一下40的正确答案是多少?
提前致谢。
【问题讨论】:
-
i已定义,否则将无法编译,如果i具有值1则该输出是有意义的。或者,如果i真的是1,那也可以。 -
printf也未定义... -
这是一个 OCR 错误。它应该是 1,而不是 i。
-
是的@dyp,如果 int i = 1,那么现在定义了 i,因此 1[arr]= arr[1] 的值为 40