zoukankan      html  css  js  c++  java
  • 【积累】一道有趣的签到题

    题目链接

    题目描述

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

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

    输入格式

    输入文件为空。

    输出格式

    你的源代码。


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

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

    #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(=-=)"
    ");
        int numy=7;
        int t=kk(y);
        printf("%d",t);
    }
    /*
    输出:
    =-=
    7
    */

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

  • 相关阅读:
    学习HTML-第一章HTML基础
    javascript中apply 和 call 的区别
    数据库
    贝叶斯公式的直观理解(先验概率/后验概率)
    4-决策树
    消息队列
    RESTful api 设计规范
    MySql索引
    MySQL并发控制
    MySQL三层逻辑架构
  • 原文地址:https://www.cnblogs.com/kkkek/p/11629001.html
Copyright © 2011-2022 走看看