c语言转义字符'\x'和'\X'有什么区别啊

发布网友

我来回答

3个回答

热心网友

c语言转义字符'\x'和'\X'区别为:ASCII码值不同、表示不同。

一、ASCII码值不同

1、转义字符'\x':转义字符'\x'的ASCII码值为120。

2、转义字符'\X':转义字符'\X'的ASCII码值为88。

二、不同

1、转义字符'\x':转义字符'\x'表示后面的字符是十六进制数。

2、转义字符'\X':转义字符'\X'表示的是大写字母X。

扩展资料:

所有的ASCII码都可以用“\”加数字(一般是8进制数字)来表示。而C中定义了一些字母前加"\"来表示常见的那些不能显示的ASCII字符,如\0,\t,\n等,就称为转义字符,因为后面的字符,都不是它本来的ASCII字符意思了。

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

热心网友

C中的十六进制ASCII码换码序列的引导符是'\x'而不是'\X',所以谈不上它们有什么区别。下面的代码可以验证:

//#include "stdafx.h"//If the vc++6.0, with this line.
#include "stdio.h"
int main(void){
    printf("%c %c\n",'\x04E','\X04E');
    return 0;
}

输出是N E。这表明系统只认\x而不认\X,所以前者输出了对应字符N,后者被截断为E。

热心网友

如果想用转义字符用十六进制表示应使用'\x12'这样的形式,注意应该是小写x,不是大写的X

为什么会输出26200转化成十六进制是66 58 而字符'f'和'X'的ASCII码值用十六进制表示就是66和58

至于为什么是6658而不是5866,因为lz的编译器是针对大端模式的追问谢谢大神,在小小的问下:
main()
{int a=3,b=2,c=1,d;
d=cb>c;
printf("%d\n",d);
}
输出的0
这是为什么啊????

追答cb>c
(3>2)>1
即1>1,显然为假,值为0

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com