三字母词和转义字符

新手避坑指南:用COMSOL Multiphysics仿真气体放电(汤逊vs.流注) 本文详细介绍了使用COMSOL Multiphysics仿真气体放电的实战指南,涵盖汤逊理论和流注模型的实现方法。通过对比两种放电模型的关键参数和物理场配置,帮助新手避免常见错误,准确预测气体击穿过程。文章还提供了工程应用案例,如高压绝缘子设计优化,展示了仿真技术在电力设备绝缘设计中的实际价值。 阅读详情

1. 三字母词

在C语言中有一种三字母词的说法,trigraph sequences,目前为止有九种三字母词,如下

??=               #                  ??)            ]                  ??!           |        

??(                [                   ??'            ^                  ??>          }
??/                \                    ??<         
{                   ??-           ~

三字母词出现的原因是,为了避免以前的老式键盘中没有上面的九种字符

这里还需要注意的是,在用gcc编译时可能会出现如下错误

在编译时如果不加-trigraphs会出现如下警告
warning: trigraph ??/ ignored, use -trigraphs to enable
我们需要在编译时加上-trigraphs选项,而且需要加在最前面。
cc -trigraphs -o test test.c


这里我们需要注意的一点就是,当我们看到两个问号同时出现时,就留意一下三字母词,避免引起不必要的麻烦,防止出现三字母词,即想打印出两个问号时,就使用\?

2. 转义字符

我们在编写C程序的时候,会想要打印出某些符号,但是因为这些符号是有特殊含义的,所以经常不能如愿,接下来就是转义字符了

转义字符(escape sequence)由一个反斜杠\加上一个或多个其他字符组成。

\?在书写连续多个问号时使用,防止它们被解释为三字母词。

\"用于表示一个字符串常量内部的双引号。

\'用于表示字符常量‘。

\\用于表示一个反斜杠,防止它被解释为一个转义序列符。

\a警告字符。
\b退格键
\f进纸字符
\n换行符
\r回车符
\t水平制表符
\v水平制表符
\dddddd表示1~3个八进制数字,表示八进制所对应的十进制数对应ASCII对应的字符。
\xddd与上例类似,只是八进制数换成了十六进制数

3.小例题

     这里我们来看一道题目

len = strlen("c:\code\test\ten.c");

这个时候len的结果是15,因为\为当成是一个转义字符的标识,所以这里\c和\t被分别当成是一个字符

变式1:len = strlen("c:\\code\\test\\ten.c");

结果是18,这里\\被当成是一个字符,表示一个\,而c和t就被当成是一个字符

变式2:len = strlen("c:\\code\\test\\ten.c\123");

结果是19,因为后面的\123,是上文中转义字符的一种,表示123八进制所对应的十进制数对应的asall码多对应的字符

变式3:len = strlen("c:\\code\\test\\ten.c\023");

这里的结果是还是19,题目没有把\0作为结束的标识

变式4:len = strlen("c:\\code\\test\\0ten.c\023");

这里的结果是12,因为\0在这里被当成是结束的字符串标识,并且不被strlen统计成一个字符

机器人强化学习入门学习笔记 如果你追求高精度动力学仿真、用于强化学习或机器人研究,MuJoCo 是一个非常优秀的选择。如果需要快速实验、使用真实机器人模型,PyBullet 或 Gazebo可能更合适;如果你追求大规模并行训练,Isaac Gym 或 BraX会更高效。legged gym底层是​编辑isaacgym,基于gpu训练可以多环境并行训练,收敛到一个稳定行走的策略快。本视频MuJoCo基于cpu训练很慢。 阅读详情

相关推荐

三甲医院网络架构与安全建设实战

华为OceanStor] [华为OceanStor][PACS存储双活] [HIS数据库同步]患者隐私 数据脱敏 天清Web防火墙动态脱敏策略。主数据中心 --[OTV专线]-- 备数据中心。实现医疗业务网/卫生专网/互联网三网隔离。核心业务配置(华为CE6865)自动备份配置(每天02:00)安全事件响应(30分钟SLA)漏洞扫描(每周日00:00)实现医疗物联网统一接入管控。五、等保2.0合规关键配置。堡垒机登录(双因素认证)四、医疗物联网安全方案。

有小小的远大抱负 1911

C —— 了解三字母词(trigrph)

三字母词的含义 三字母词就是几个字符的序列,合起来表示另一个字符。 详细展示 编译时 实际效果 ??( [ ??) ] ??! | ??< { ??> } ?? ’ ^ ??= # ??/ \ ??- ~ 注意 Dev-C++ 5.11版本在出现三字母词时,出现警告:[Warning] trigraph ??( ignored, us...

HowieZeng的博客 550

Windows游戏多开检测实战:5种技术原理与破解方法详解(附C++代码)

本文深入解析了Windows游戏多开检测的5种核心技术原理,包括进程枚举、互斥体、信号量、窗口及文件映射检测,并详细探讨了对应的破解方法。通过分析这些基于进程和内核对象的攻防机制,为开发者与逆向爱好者提供了从底层理解Windows系统进程管理的实战视角,并附有核心C++代码示例。

weixin_29315091的博客 243

C 语言拾遗

C 语言拾遗

Guanngxu的博客 680

VI恒流源原理详细分析(0~10V转0/4~20mA)

但是此电阻也不能无限增加,首先我们所列方程均是基于运放虚短虚断的假设,此假设又是基于运放输入阻抗无穷大,输出阻抗无穷小的前提条件,然而实际的运放并非理想运放,对于TL082IDR这款运放,其Rid(Common-mode input resistance)典型值为1TΩ,以此来看感觉1MΩ确实还不是很大,但是还有另一个影响因素需要考虑,那就是电路的抗干扰能力,原则上,电阻越大受到外部干扰的可能性越大。也就是实现Uin 0~10V变化时对应Iout 0~20mA的一个线性对应关系。

IOTBOT的博客 2901

【软件系统架构】系列六:系统工程

系统工程是一种跨学科方法论,用于分析、设计、集成和管理复杂系统的全生命周期。其核心特点包括系统性思维、全周期管理、跨学科协作和需求导向。主流采用V模型生命周期,涵盖需求分析、系统设计、实现、测试验证及运维退役等阶段。核心工作方法包括需求工程、系统建模、接口设计、风险管理等。系统工程与项目管理协同,分别侧重技术实现和进度资源管理。应用领域覆盖航天军工、智能制造、智慧城市等。未来将向AI融合、数字孪生、模型驱动工程等方向发展,为复杂系统开发提供系统化协作范式。

moton2017的博客 2257

python的len()函数小tips

注意: 1.其形式为len('abc efg') 2.其中len()显示的是字符串里面装的东西的长度 3.注意点:①转义字符\不占长度 ②空格占长度 ③ ’ 也占长度 例题:

MayPatent的博客 546

HBV模型

据说mHM模型也是基于HBV模型原理。 网上不同版本的HBV模型稍有差别 def hbv_main(n_days, params, air_temp, prec, dpem): #n_days 模拟天数 #air_temp 每月温度 #prec 降水 #dpem 每月蒸发 Tsnow_thresh = 0.0 ca = 410. # Initialize arrays for the simiulation snow = np.zeros(air_temp.size

m0_46268055的博客 2332

c语言中的三字母词以及转义字符

C语言中的三字母词(trigraph) 在ANSI C标准中,定义了9个三字母词(trigraph),三字母词就是几个字符的序列,合起来表示另一个字符。三字母词使C语言环境可以在缺少一些必需字符的字符集(比如,一些非常老式的键盘上没有[]{}#\^~|)上实现。也许是由于这些字符集我们基本上用不到,所以在大多数C语言的书籍中,我们都看不到对三字母词的讲解。下图列出了9个三字母词以及它们所代表

lmh的博客 5412

12、多旋翼飞行器动力学建模与实验分析

本文探讨了多旋翼飞行器的动力学建模过程,包括使用四元数的优势、刚体运动学与动力学模型的构建,以及螺旋桨推力和扭矩对飞行性能的影响。文章还通过基础实验和分析实验研究了质量、转动惯量和螺旋桨参数对飞行状态和控制响应的影响,并结合理论分析与仿真结果总结了多旋翼飞行器的动力学特性。最后,对未来研究方向进行了展望,以提升多旋翼飞行器的性能和可靠性。

Python的专栏 208

改进yolov8|BackBone改进:PWConv、FasterNeXt替换yolov8主干网络

各位哥哥姐姐弟弟妹妹大家好,我是干饭王刘姐,主业干饭,主业2.0计算机研究生在读。和我一起来改进yolov8变身计算机大牛吧!本文中的论文笔记都是刘姐亲自整理,原创整理哦~

weixin_44379985的博客 751

完整ASCII码表

Bin                  Dec       Hex         缩写/字符                                        解释0000 0000     0           00             NUL (null)                                       空字符    0000 00

朱翠翠(嵌入式) 1269

【C语言】三字母词和转义字符

C语言中定义了一些字母前加"\"来表示常见的那些不能显示的ASCII字符,就称为转义字符,因为后面的字符,都不是它本来的ASCII字符意思了。本文章介绍了转义字符和三字母词的相关知识。

balawulala的博客 847

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

c语言中的三字母词和转义字符

三字母词,就是几个字符的序列,合起来就是另一个字符。如下所示: 三字母词 实际字符 ??( [ ??) ] ??! | ?? { ??> } ??' ^ ??= # ??/ \ ??- ~ 转义字符: \a 响铃 \b 退格 \f 进纸字符 \n 换行符 \r 回车符 \t 水平制表符 \v 垂直制表符 \ddd 表示1~3个八进制数 \xddd 表

u010273007的博客 531

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

三字母词与转义字符

首先,我们先来看一下下面这段程序,猜一下运行结果: #include int main() { printf("Delete file (are you sure??)"); return 0; } 执行结果如下: 你会发现,本应该是‘)’的地方变成了‘]’,这个时候,就出现了三字母词的概念。         三字母词(trigrph)就是几个字符的序列,合起来表示

qq_23556715的博客 1466

三字母词

三字母词和转义字符 #include int main(){ printf("%d\n",strlen("c:\test\acd\test.c"));return 0;}

zww-blog 367

C语言——转义字符

转义字符

qq_45559559的博客 5万+

开门篇:C/C++中的多字节字符、转义字符、三字母词,顺带提及字符串常量

估计转义字符大家都听过,多字节字符通过微软常用的wchar_t也都了解过,三字母词是神马?不知道吧?之写这篇博客前我也不知道。因为编程中很少用得到。 但是你仍然需要了解它。因为总有些时候会遇到让你困惑的地方。比如看书充电的时候。再比如: 当你想打印:“What??!” printf( "What??!\n" ); 得到的却是“What|”,你是不是会下一跳呢?

CoCosBoy的专栏 6181

《C和指针》读书笔记

1. 三字母词 三字母词即用三个字符合起来表示另一个字符,它可以使C环境在某些缺少一些必需字符的字符集上实现。 ??( [ ??< { ??= # ??) ] ??> } ??/ \ ??! | ??' ^ ??- ~ 2. 转义字符 \ddd 表示由八进制数ddd的数值所代表的字符 \xddd ...

124

C语言:转义字符

可以看到修改代码前后输出的结果不同,这就是转义字符的问题,下面两种转义字符可以理解为:字符的8进制和16进制表示形式。的意思发生了转变,被转义为换行的意思。,顾名思义就是:转变原来意思的字符。在字符中有一组特殊的字符是。比如:在原有的代码里有字符。但如果我们修改一下代码,在。是一个转义字符,表示。

a17386807280的博客 622

初识c语言-06_转义字符

转义字符,ASCII码值

2403_83261548的博客 535

C语言 转义字符

\n 换行符 \b退格键,光标回退⼀个字符,但不删除字符 \r回车符,光标移到同一行的开头 \t制表符,光标移到下一个水平制表位,通常是下一个4/8的倍数 \v垂直分隔符,光标移到下⼀个垂直制表位,通常是下⼀⾏的同⼀列 \?在书写连续多个问号时使用,防⽌他们被解析成三字母词,在新的编译器上没法验证了 \' 用于表示字符常量' \'' 用于表示一个字符串内部的双引号 \ddd 表示1~3个八进制的数字。如:\130 表示字符X \xdd 表示2个十六进制数字。如:\x30表示

2402_86735906的博客 299

【初始C语言】转义字符

转义字符转变字符的意思,n加\后他的意思就变了,就会变成换行符加了\和没加\的区别\n有换行的作用,转义字符\0是字符串的结束标志,所以\0是转义字符C语言规定的转义的字符。

2301_77634163的博客 433
上一篇: XPath与多线程爬虫
下一篇: C语言volatile关键字详解
NeilZhy
博客等级 码龄11年 175粉丝 145原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值