不会指针的同学们看好了!!!
#include <cstdio>
int main() {
const char *s =
"#include <cstdio>%c%cint main() {%c%cconst char *s = %c%s%c;%c%cprintf(s, 10, 10, 10, 9, 34, s, 34, "
"10, 9, 10, 11);%c}%c";
printf(s, 10, 10, 10, 9, 34, s, 34, 10, 9, 10, 11);
}
好玩吗?一起来玩指针吧!
共 4 条回复
哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦,牛逼。
@GUANGJEIZHONGXIN...
printf("%c",&s);中的引号之内是地址,而指针指向的正好是地址。其中
已经在地址中赋值了(另外,"%c"就是一例),所以这道题考的就是指针的应用.
printf(s, 10, 10, 10, 9, 34, s, 34, 10, 9, 10, 11); 这样也能输出?不应该是printf("%c",s);吗?
话说这个OJ为什么没有PHP?
...承认这题PHP轻松水过...
你没看错,只要把12345678910打上去,系统就会自动帮你输出。
原理的话,PHP标签外字符会被PHP解释器直接输出(常见于HTML和PHP混写,甚至php的if里出现结束标签+HTML+开始标签能够实现选择性输出HTML),因此此题直接将字符画贴源码里直接交(PHP)能过。