今天我偶然发现了这个博客。最吸引我的是这个:
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。
任何人都可以解释这个吗?
编辑:我发现下标内必须有一个指针,否则我会得到编译时错误。