在使用C语言时,发现'\105'和0105的输出字符一样

[复制链接]
查看11 | 回复4 | 2009-3-25 22:10:38 | 显示全部楼层 |阅读模式
还有'\x01'和0x01的输出都是一样的,请问下是不是那个'\'就可以等价于0呢

回复

使用道具 举报

千问 | 2009-3-25 22:10:38 | 显示全部楼层
\不等价于0,\是转义字符,比如\n是换行符\t是制表符等等。同时\后面也可以是数字(八进制或十六进制),比如\012是换行符\011是制表符等,你应该知道一个字符也可以直接用它对应的ASCII码来表示,所以012也可以是换行符011也可以表示制表符。所以\105和0105代表的字符是一样的,同样也课用十六进制数来表示字符,通常我们可以用0——255这256个十进制数来表示字符,它们所对应的八进制和十六进制也可以。另外我们还可以用转义字符'\'来加上八进制数或十六进制数来表示规则是\ddd 其中ddd代表1到3位八进制数\0xhh 其中hh代表1到2位十六进制数。所以并不是你所认为的那样0和\是等价的。C语言中整型数据可用十进制...
回复

使用道具 举报

千问 | 2009-3-25 22:10:38 | 显示全部楼层
\不等价于0,但是\x等价于0x。...
回复

使用道具 举报

千问 | 2009-3-25 22:10:38 | 显示全部楼层
转义字符是C语言中表示字符的一种特殊形式。通常使用转义字符表示ASCII码字符集中不可打印的控制字符和特定功能的字符,如用于表示字符常量的单撇号( '),用于表示字符串常量的双撇号( ")和反斜杠( \)等。转义字符用反斜杠\后面跟一个字符或一个八进制或十六进制数表示。 转义字符 意义 ASCII码值(十进制) \a 响铃(BEL) 007 ...
回复

使用道具 举报

千问 | 2009-3-25 22:10:38 | 显示全部楼层
我来告诉你吧!‘\x01'的’\’是转义符,也就是说输出的‘\x01'是输出的16进制的字符型,而0\x01是16进制,输出为实型数据!...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行