在C++中'\018'是一个字符吗
发布网友
发布时间:2022-04-25 00:04
我来回答
共3个回答
热心网友
时间:2023-10-16 14:45
不是的。
C++中转义字符有三种表示方法:
1 在\后面接一个特定的字母,如\n,\t等。表示对应的意义。
2 在\后面接x,然后接两位16进制数字,不区分大小写。如'\x12', '\xAb'等。表示对应两位16进制的ascii码值。
3 在\后面接三位8进制数值,如'\123', '\011'等。表示三位8进制数表示的ascii码值。
与'\018'最为接近的情况是第三种,不过第三种要求是8进制数,所以合法的字符只有0~7,8并不是合法的8进制字符。所以作为单个字符\018的写法是错误的。如果出现在字符串中,会被当做'\01'(ascii码值为1)和'8'两个字符来处理。
热心网友
时间:2023-10-16 14:45
这个是错误的表达式。
在C / C++ 当中,''表示一个字符。
对于非可打印、可见的那些字符,可以用十六进制或者八进制表示。
\x是十六进制转换符,而\后面直接跟数字是八进制转换,数字可以是1到3个,
但必须是合法的单字符的8进制数字序列。
你这个\018在识别的时候,01被识别,但是8是非法的八进制数字,
所以编译器认为 \01是ASCII为1的字符,剩下的8是非常字符,编译不通过。
热心网友
时间:2023-10-16 14:46
是一个控制字符。
具体可以查一下ACSII表