C语言的很吊的printf-----来自一个C语言竞赛题目

一个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换行

 

posted @ 2016-09-08 23:21  mrsandstorm  阅读(324)  评论(0编辑  收藏  举报