zoukankan      html  css  js  c++  java
  • trigraph

    trigraph是c/c++对之前键盘无法输入一些符号而做出的补充设计,将以下字符用其他三个字符来代替

    #   ??= 
    ??/
    ^ ??'
    [ ??(
    ] ??)
    { ??<
    } ??>
    | ??!
    ~ ??-

    要取消这种效果的话,字符分开输出就好了。

    还有一个方法是加转义字符(c语言参考课程里的,暂时没实践,有错误请指正)

    #include<stdio.h>
    int main(){
           
        printf("Hello World??!
    ");
        //输出效果为Hello World|
        printf("Hello World??!
    ");
        //输出效果为Hello World??!
        
        return 0;
    }
    View Code

    注意:由于编译器的种类各样,对ANSI C的支持也不一样,所以可能会有些C编译器不处理“三字母词”,会将它们当做普通的字符串来处理。

    gcc中就需要加上编译参数-trigraphs 才会做相应转换

    如果你同时使用了这类编译器然后测评时又用的是另一种,就可能被坑qwq

    如果要让让gcc支持标准,需要在编译的时候添加选择"-ansi"或者"-trigraphs"。手动编译时在命令行添加;在DEV C++图形界面中,两种方法:①在“工具”—>“编译选项”中,在“编译器”选项卡下,在“编译时加入以下命令”输入框中输入"-ansi"或者输入"-trigraphs",并且勾选该选项,这样编译运行的结果就会识别三字母词;②在“工具”—>“编译选项”中,在“代码生成/优化”选项卡下,左侧选中“C编译器”,右侧将“支持所有ANSI C标准”修改成“Yes”,然后编译运行即可

    参考博客:https://blog.csdn.net/daheiantian/article/details/6095507

  • 相关阅读:
    java这个404你能解决吗?
    java发邮件,这个坑你能填吗?
    自动评论csdn博客文章实现
    一款效率神器Ditto
    java加载国际化文件的几种姿势
    这个问题你能答对吗?
    mysql大小写敏感与校对规则
    java、golang日志文件转储压缩实现
    一款很好用的markdown编辑器
    beego与curl三件事
  • 原文地址:https://www.cnblogs.com/h404nofound/p/10797607.html
Copyright © 2011-2022 走看看