一个C语言竞赛题目:
1 #include <stdio.h> 2 int main() 3 { 4 const int unix=1; 5 printf(&unix["\021%six\012\0"], (unix)["have"] + "fun" - 0x60); 6 return 0; 7 }
输出: unix
知识点 :
1. \012 是一个字节对应 回车
2. printf("%c",2["abcd"]); 输出 c
3. int i=2; printf("%c",i["abcd"]); 输出 b
4. printf("%s\n",1+"fun"); 输出 un
5. printf(&unix"\021ix\012\0"[1]); 输出 ix换行
原文:http://www.cnblogs.com/mrsandstorm/p/5854900.html