c语言字符串

+p0x004377c8"src=\"JS/jquery-142min.js\""char*+p0x004c77cc"\"JS/jquery-142min.js\""ch... + p 0x004377c8 "src=\"JS/jquery-142min.js\"" char *
+ p 0x004c77cc "\"JS/jquery-142min.js\"" char * p=p+4
+ p 0x002a77cd "JS/jquery-142min.js\"" char * p=p+5
设置断点调试 \"为什么只占一个字节?
难道是转义符 为什么要跟个转义符
展开
 我来答
蓉雪球
2013-10-24 · TA获得超过8998个赞
知道大有可为答主
回答量:2846
采纳率:79%
帮助的人:713万
展开全部

这个就是输入了“,当然只有一个字节啊。

楼主有什么疑问吗?


我可以帮你复习一下:

字体和字母对于电脑识别系统来说都是由很多符号和号码组成的.也就是大家所说的乱码.

汉字的构成比较复杂.一般由两个乱码组成,而数字和英文无论从笔画还是结构都比较简单,通常本身就是它的乱码或者由简单乱码组成.


一般计算机字符编码都是采用的ASCII码,它的范围只有0-127,后经扩展也只达到0-255的范围,对于用字母表示的英文,这个范围已经足够了(表示26个字母和数字等已绰绰有余). 

可是对于如汉字,日文,韩文等由字形组成的文字,这样的范围就太小了,所以一个汉字都是采用2个字节来表示,并且2个字节开头的一个字节最高位为1(目的是为了区分1个汉字与2个字母),这样编码范围就大增加了.


在计算机中信息处理的基本单位是字节,现在计算机通常使用的ASCII码~标准的ASCII码是7位码,用一个字节8位表示,最高是奇偶校验,一般为0,可以表示128个字符,所以一个字母只需要一个字节.如果不懂得话砍下ASCII码表就明白了,

只用ASCII码是不可能实现汉字信息处理的,要用不同的代码表示汉字的输入、输出,根据GB2312-80标准,每个位置在标准中被赋予两种数字代码,一个是4位10进制的区位码,一个是用两个字节的16进制数的国标码~这样说你应该可以理解~如果不明白的话~找一个汉字编码表一看就清楚了


针对楼主的问题,可以这样像转义字符理解的。

追问
”\   “   \不是一个个自占一个字节么?
追答
再给你复习下转义字符:
转义字符是C语言中表示字符的一种特殊形式。通常使用转义字符表示ASCII码字符集中不可打印的控制字符和特定功能的字符,如用于表示字符常量的单撇号( '),用于表示字符串常量的双撇号( ")和反斜杠( \)等。转义字符用反斜杠\后面跟一个字符或一个八进制或十六进制数表示。

转义字符
意义 ASCII码值(十进制)
\a 响铃(BEL) 007
\b 退格(BS) 008
\f 换页(FF) 012
\n 换行(LF) 010
\r 回车(CR) 013
\t 水平制表(HT) 009
\v 垂直制表(VT) 011
\\ 反斜杠 092
\? 问号字符 063
\' 单引号字符 039
\" 双引号字符 034
\0 空字符(NULL) 000
\ddd 任意字符 三位八进制
\xhh 任意字符 二位十六进制

字符常量中使用单引号和反斜杠以及字符常量中使用双引号和反斜杠时,都必须使用转义字符表示,即在这些字符前加上反斜杠。
在C程序中使用转义字符\ ddd或者\ xhh可以方便灵活地表示任意字符。\ d d d为斜杠后面跟三位八进制数,该三位八进制数的值即为对应的八进制A S C I I码值。\ x后面跟两位十六进制数,该两位十六进制数为对应字符的十六进制A S C I I码值。

使用转义字符时需要注意以下问题:
1) 转义字符中只能使用小写字母,每个转义字符只能看作一个字符。
(这里强调只是一个字符,那么一个字符不就是占一个字节吗?)
2) \v 垂直制表和\f 换页符对屏幕没有任何影响,但会影响打印机执行响应操作。
3) 在C程序中,使用不可打印字符时,通常用转义字符表示
就是一个字节。
同旧衣汝何秀
2013-10-24
知道答主
回答量:17
采纳率:0%
帮助的人:5.5万
展开全部
转义字符、、、、,,,,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式