trigraph
2024-09-23 21:10:23
trigraph是c/c++对之前键盘无法输入一些符号而做出的补充设计,将以下字符用其他三个字符来代替
# | ??= |
\ | ??/ |
^ | ??' |
[ | ??( |
] | ??) |
{ | ??< |
} | ??> |
| | ??! |
~ | ??- |
要取消这种效果的话,字符分开输出就好了。
还有一个方法是加转义字符(c语言参考课程里的,暂时没实践,有错误请指正)
#include<stdio.h>
int main(){ printf("Hello World??!\n");
//输出效果为Hello World|
printf("Hello World?\?!\n");
//输出效果为Hello World??! return ;
}
注意:由于编译器的种类各样,对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
最新文章
- Okio 1.9简单入门
- css 去除 a,checkbox 框 出现虚线
- MySQL线上执行大事务或锁表操作
- js运动 分享到
- 常用的 css 命名规则
- 计算BMI指数的小程序
- 安卓中onBackPressed ()方法的使用
- Web Api 2, Oracle and Entity Framework
- ipconfig显示IP地址情况
- 第二章 MySQL入门篇
- Linux 快捷键汇总(偏基础)
- Logstash+Kibana部署配置
- Java-每日编程练习题①
- 为什么 npm 要为每个项目单独安装一遍 node_modules?
- 从安装Mac OS X虚拟机到第一个IOS程序
- hdu2588-GCD-(欧拉函数+分解因子)
- Numpy 的ndarray
- mysql备份工具innobackupex,xtrabackup-2.1的原理和安装
- WEBSHELL跳板REDUH使用说明
- ReactNative For Android 项目实战总结