【发布时间】:2012-07-05 13:47:02
【问题描述】:
可能重复:
In C arrays why is this true? a[5] == 5[a]
C weird array syntax in multi-dimensional arrays
今天我遇到了这个blog。最吸引我的是:
int i;
i["]<i;++i){--i;}"];
好吧,我真的不知道数组下标中奇怪的“字符串常量”的目的是什么,但我很困惑如何为整数变量下标。所以我带来了这段代码:
#include <stdio.h>
int main(void) {
int x = 10;
printf("%d", x["\0"]); /* What is x["\0"]?! */
return 0;
}
使用带有 -Wall -ansi -pedantic 的 MinGW 编译不会出错。然后此代码输出:105。
谁能解释一下?
编辑:我发现下标内必须有一个指针,否则我会得到编译时错误。
【问题讨论】:
标签: c arrays subscription