ppts.net
当前位置:首页>>关于C语言中八进制转义字符是不能以0开头,还是不需要...的资料>>

C语言中八进制转义字符是不能以0开头,还是不需要...

不足三位的八进制数就要补足0.因为要用三个数表示八进制.形式如“\ddd”.

转义字符中,规定用 \ooo表示3为八进制(ooo代表三位八进制的数),即\101,\102这样形式的,如果用打印出来的话,就会分别被转义为大写的A、B.而十六进制的转义字符规定为\xhh,注意这里的十六进制数字只有两位,即\x表示采用16进制,而后面两位hh代表16进制的数,比如\x41,\x42,转义后也表示A、B.如果要表示数值的话,比如10进制数值65,用八进制表示就是0o101,用16进制表示就是0x42,就是说从数值上来讲 0o101 = 0x42 = 65,而ASCII码表的65代表的是A,所以,你添加转义符后,\101 和\x42都表示A

C语言中以0开头的常数是八进制数

\ddd 任意字符,ddd对应的ASCII码字符 三位八进制 \xhh 任意字符,hh对应的ASCII码字符 两位十六进制 你遇到的这种情况,可能是因为在不同的编译环境中,会有不同的表示方法!或者同一个编译软件在不同的版本中也可能有不同的表示方法.

不规定,,你可能关于八进制数值常量和转义字符的八进制表示没有弄清楚,八进制数值常量是以0开头的,01,010(十进制的8),这样就表示八进制数值常量,而转义字符是'\'里面DDD表示用三位八进制数(0--7),不一定是0开头.

'\21'=='\021' 是对的.. '\21'是一个字符

0开头是因为编译器要识别数字类型

简单的说,转义符没有十进制的,你写\10和\010都是八进制,\12和\012也是八进制只有数值有十进制,八进制和十六进制,像a=10;a=010;a=0x10;都是不同进制

转义字符 用反斜杠.'\042' 是 8 进制数 42. (ASCII 码值,八进制42,字符是双引号)'\42' 也是 8 进制数 42'\x42' 则是 16 进制数 42 (ASCII 码值,16进制42,字符是B) printf("%c %c",'\042','\42'); 打印出 " " printf("%c ",'\x42', 打印出 B'\0' 或 "\0" 是字符串结束符

int a=100; int b=0144; int c='\144'; printf("%d %d %d\n", a,b,c); 输出abc都是100

网站首页 | 网站地图
All rights reserved Powered by www.ppts.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com