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

比如说main(){inta='\Xf';printf("%d\n",a);}输出26200。而main(){inta='\xf';printf("%d\n",a);}输... 比如说main()
{int a='\Xf';
printf("%d\n",a);
}
输出26200。
而main()
{int a='\xf';
printf("%d\n",a);
}
输出的是15
展开
 我来答
仁昌爱娱乐
高粉答主

2020-05-18 · 专注关心娱乐
仁昌爱娱乐
采纳数:760 获赞数:459857

向TA提问 私信TA
展开全部

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字符意思了。

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

White_MouseYBZ
推荐于2017-09-25 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:6659万
展开全部

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。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
shine1991
科技发烧友

推荐于2017-10-01 · 智能家居/数码/手机/智能家电产品都懂点
知道顶级答主
回答量:4.7万
采纳率:82%
帮助的人:2.3亿
展开全部
如果想用转义字符用十六进制表示应使用'\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
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式