#include<stdio.h>#include<stdbool.h>int main(){printf(&true["\021%sck\012\0"], true["have"] + "fro" - 0x60);//第一层//背景:历史背景//1987年,国际C语言混乱代码大赛,获奖作品//第一层 (宏定义)printf("true = %d\n",true);//第二层printf("%s\n","fro"+1); //const char *p = "fro";//printf("%s\n" , p+1);//第三层printf("%c\n","have"[1]);//const char * p = "hava";//printf("%c\n",p[1]);//printf("%c\n ,*(p+1);//第四层 printf("%d\n",(1)["hava"]);//97//(1)["hava"] 等价于 "hava"[1] //第五层 printf("%d\n",(1)["hava"] - 0x60); //1 0x60:96//第六层 printf("%s\n","fro" + (1)["have"] - 0x60);//第七层printf("%s\n","fro" + true["have"] - 0x60);//带不带()编译器都能识别 //第八层printf("%s\n",&"abcde"[1]); //bcde//在字符串中,任意一个字符的地址,就是一个"子串"//第九层printf("%s\n",&true["abcde"]); //第十层printf("%s\n",&"?%sck\n"[1]); //%sck\n//第十一层printf("%s\n",&"\021%sck\012\0"[1]);//%sck\n//第十二层 //冲! //第十三层 printf(&true["\021%sck\012\0"], true["have"] + "fro" - 0x60);//"%sck\n", "ro"//rock! return 0;}
rock
true = 1
ro
a
97
1
ro
ro
bcde
bcde
%sck
%sck
rock