首页 > 其他 > 详细

一道有趣的签到题

时间:2019-10-07 00:08:15      阅读:152      评论:0      收藏:0      [点我收藏+]

 

题目链接

题目描述

写一个程序,使其能输出自己的源代码。

代码中必须至少包含十个可见字符。

输入格式

输入文件为空。

输出格式

你的源代码。

 


 

从来没想过还可以这么玩φ(゜▽゜*)?

 

看着别人的题解写了一份代码:

#include<bits/stdc++.h>
#define kk(x) #x
using namespace std;
char s[]=kk(int main(){puts("#include<bits/stdc++.h>");puts("#define kk(x) #x");puts("using namespace std;");printf("char s[]=kk(");printf("%s",s);puts(");");puts(s);});
int main(){puts("#include<bits/stdc++.h>");puts("#define kk(x) #x");puts("using namespace std;");printf("char s[]=kk(");printf("%s",s);puts(");");puts(s);}

 

然后了解了一个以前不知道的知识点:C++#号的使用

1,#     字符串化 

2,##   连接字符串

3,#@  字符化(据说gcc编译器不行,微软特有)

#include<cstdio>
#define k(x) #x
#define kk(x) num##x
int main()
{
    printf(k(=-=)"\n");
    int numy=7;
    int t=kk(y);
    char b;
    printf("%d",t);
}
/*
输出:
=-=
7
*/

 

在这道题用#代替引号可以避免引用引号的一些麻烦

 

一道有趣的签到题

原文:https://www.cnblogs.com/kkkek/p/11629001.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!