问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C语言中如何判断是不是合法转义字符?

发布网友 发布时间:2022-04-25 22:47

我来回答

5个回答

热心网友 时间:2022-06-18 08:59

分为两类

一个是固定字母的,比如 \t \n

另一类就是通用的,包括8进制 16进制

8进制的 \ooo 后面的ooo是1到3个合法的8进制字符。

16进制 \xhh 后面的hh是1到2个合法的16进制字符。

符合以上的就是合法的,否则非法。

控制字符:

转义字符不属于控制字符;控制字符也不属于转义字符。如果控制字符的定义是非图形的字符,或者对输出设备(打印机、文本终端)有特殊意义的字符,那么针对这些设备的转义字符也是控制字符。但是程序设计用的转义字符是图形字符,因此它们不是控制字符。相反地,大多数ASCII控制字符单独都具有控制功能,因此它们不是转义字符。

以上内容参考:百度百科-转义字符

热心网友 时间:2022-06-18 08:59

'\0'是八进制的转移字符,如果看到:\087这就是非法的,'\0x'表示十六进制,还有一些必备的如:'\n','\r'这些。

和普通的字符判断相同,比如判断和'a'是否相同,ch=='a',那么判断转义一样,如ch=='\n',逻辑表达式的结果只有两个,true和false,所有的逻辑表达式都一样,为真就是true,否则就是false。

#include<stdio.h>

int main(){

char a[20]="abc\'efgh";

int i=0;

for(i=0;i<20;i++){

if(a[i]=='\\'&&a[i+1]=='\'')

printf("true,%d",i);

if(a[i]=='\'')

printf("false");

if(a[i]==0){

printf("%d",i);

break;

数据类型关键字

short:修饰int,短整型数据,可省略被修饰的int。(K&R时期引入)

long:修饰int,长整型数据,可省略被修饰的int。(K&R时期引入)

long long:修饰int,超长整型数据,可省略被修饰的int。(C99标准新增)

signed:修饰整型数据,有符号数据类型。(C89标准新增)

unsigned:修饰整型数据,无符号数据类型。(K&R时期引入)

restrict:用于限定和约束指针,并表明指针是访问一个数据对象的初始且唯一的方式。(C99标准新增)

复杂类型关键字

struct:结构体声明。(K&R时期引入)

union:联合体声明。(K&R时期引入)

enum:枚举声明。(C89标准新增)

typedef:声明类型别名。(K&R时期引入)

sizeof:得到特定类型或特定类型变量的大小。(K&R时期引入)

inline:内联函数用于取代宏定义,会在任何调用它的地方展开。(C99标准新增)

热心网友 时间:2022-06-18 08:59

以下是实例:
\a 响铃
\b 退格
\f 换页
\n 换行
\r 回车
\t 水平制表
\v 垂直制表
\\ 反斜线字符''\'
\? 问号“?”
\' 单引号(撇号)字符
\" 双引号字符

\0 空字符(NULL)
\ddd 三位八进制
\xhh 二位十六进制
总的转义符就这些啦,
所谓合法的,就是符合以上形式的转义符,除此之外的均不是,比如\ba,这就是先退格再让a覆盖在上面,而不是先退格再响铃,凡是碰到反斜杠“\”就要警惕了,看看有没有以上所述的转义,若没有基本上是错的;
还要注意的是如果输入的是\其他英文字母(不在上述之列),输出的会是ASCII码(具体参见ASCII码对照表)

下面的实例可以帮助您理解转义符:
#include <stdio.h>
int main(void)
{
printf("12345678901234567890\n"); /*参考数据*/
printf("abc\tdef\n"); /*转移符使用*/
printf("abc\tde\bf\n");
printf("abc\tde\b\rf\n");
printf("abc\"def\"ghi\?\n");
printf("整数98\n"); /*转移符数制*/
printf("八进制表达整数98是 \142\n");
printf("十六进制表达整数98是\x62\n");
return 0;
}

热心网友 时间:2022-06-18 09:00

A) '\"' B) '\1011' C) '\011' D) '\abc'

'\\' '\' '\f' '\101'

'\xf' '\a' '\}' 'x1f'

2.下面4个选项中,均是正确的八进制数和十六进制数的选项是: 这个我还真无法判断了

A) -10 B) 0abc C) 0010 D) 0a12

0X8f -017 -0x11 -0x123

-011 0xc 0xf1 -0xa

3.下面4个选项中,均是非法常量的选项是: 为什么是选 A, '\0xa'应该是合法的吧

A) 'as' B) '\\' C) -0x18 D) 0xabc

-0fff '\01' 01177 '\0'

'\0xa' 12,456 0xf "a"

热心网友 时间:2022-06-18 09:01

提问能再具体点吗,合法转义字符? 你想判断什么?实现什么?
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
自己改编了几首歌曲要怎样发表 如何申请歌的专利 全款落地40万左右,推荐两款车型,一是奥迪A6L,二是国产红旗HS7_百度... PS圆点如何画出来ps圆点如何画出来图片 广西千米以上高山排名 香港能不能用Q或微信 香港稳定虚拟主机 什么是偏导数为0的点? 想请问一下蹬完动感单车后如何放松肌肉? 动感单车骑完如何拉伸肌肉 峡江县赣远航运有限公司怎么样? 怎样转义字符是合法的 峡江县顺达物流有限公司怎么样? 峡江县鑫胜物流有限公司怎么样? 峡江县吉祥物流有限公司怎么样? 峡江县辉腾达物流有限公司怎么样? 峡江县安能物流有限公司怎么样? 峡江县安途物流有限公司怎么样? 佛教最早是什么时候传入中国的 卫生间发现有这种小虫子,是什么啊? 厕所里发现的有一厘米,请问是什么虫子? 厕所里有虫子,怎么办 卫生间有红色的细长虫子怎么办? 不同手机号为什么会共用云空间我的华为云空间,出现了家人在其他华为手机上拍的照片(我俩的手机号码不同_问一问 window10系统怎样将搜狗输入法设置为默认输入法 如何设置搜狗输入法为电脑默认输入法 适合边唱边跳的歌曲 一边唱歌一边跳舞是不是佳句? 边说边唱边跳的歌舞表演形式是? 舞蹈者边吹边跳舞,这是我国哪个少数民族的舞蹈? 江西安华冷链物流有限公司怎么样? C语言怎样判断合法转义字符 下面4个选项中,均是合法转义字符的选项是( )。 峡江县友缘汽车运输有限公司怎么样? c语言中怎么判断一个转义字符是合法的? 吉安和谐铁运物流有限公司怎么样? 判断c语言合法转义字符 江西宏达龙腾物流有限公司怎么样? - 信息提示 宁都到吉安峡江物流 C语言中转义字符是合法的字符常量吗? 江西峡江县有申通快递的网点吗,具体地址在哪里,还有联系方式 申通E物流能到峡江吗 ‘\}’是不是合法转义字符 江西省吉安市永新县有什么物流公司 C语言中单独一个 &#92; 是合法转义字符么?不是的话解释下... 峡江县巴邱镇汇通快递在哪 以下选项中,合法转义字符的选项是? &#39;\\0&#39;是合法的转义字符吗 申通物流到的了吉安市峡江县吗?