栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

关于C语言中十六进制的转义字符

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

关于C语言中十六进制的转义字符

关于C语言中十六进制的转义字符

起因是因为今天唐老师问了我一个问题

一开始我们以为答案是D 一共三个字符 a, xff 8+一个‘’
结果确是3 ,遂查了一下发现,在c语言中8进制的转义字符是3位数,而16进制的转义字符是不限制长度的。

测试代码
	char a[]="axff8";
	
	//这里x后面的数只要是0-f之间的都算作一个转义字符 
	char b[]="bxffg";
	// g刚好超过 的话就是三个字符 a xff  g 
	printf("%s   长度为%d 大小为 %dn",a,strlen(a),sizeof(a));
	printf("%s   长度为%d 大小为 %dn",b,strlen(b),sizeof(b));
	
	//十六进制不限制字符个数  两个结果都是true 就是代表从 右边取8个字节 前面溢出的截断 
	printf("%dn","x000f"== "xf");
	printf("%dn","xcc"== "x2222cc");
    
    //所以说 "axff8" 其实是"axf8" 
	printf("%d","axff8"=="axf8");
输出结果

结论

1.8进制转义字符是3位数字 ,十六进制不限制长度。
2.十六进制虽然不限制长度,但是字符只能读8个字节,所以从右边开始。只能读到2位。 如“xffff8”==“f8”
3.注意十六进制的范围 超过还是算新的字符,如“xfffffg”为两个字符 xff 和g

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1011219.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号