trigraph

Posted h404nofound

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了trigraph相关的知识,希望对你有一定的参考价值。

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

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

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

 

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

技术图片
#include<stdio.h>
int main(){
       
    printf("Hello World??!\n");
    //输出效果为Hello World|
    printf("Hello World?\?!\n");
    //输出效果为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

 

以上是关于trigraph的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段——CSS选择器

谷歌浏览器调试jsp 引入代码片段,如何调试代码片段中的js

片段和活动之间的核心区别是啥?哪些代码可以写成片段?

VSCode自定义代码片段——.vue文件的模板

VSCode自定义代码片段6——CSS选择器

VSCode自定义代码片段——声明函数