C语言问题

Python019

C语言问题,第1张

在C程序中使用转义字符\ddd或者\xhh可以方便灵活地表示任意字符。\ddd为斜杠后面跟三位八进制数,该三位八进制数为对应字符的八进制ASCII码值。\x后面跟两位十六进制数,该两位十六进制数为对应字符的十六进制ASCII码值。

简单的说,\ddd表示的是ASCII码值为ddd(八进制)的字符,\xhh表示的是ASCII码值为hh(十六进制)的字符。

例如:

\101表示的就是ASCII码值为101(八进制)的字符,是大写字母A

\x61表示的就是ASCII码值为61(十六进制)的字符,是小写字母a

基于以上理论可知,\101\102\x43\x44表示的字符串是ABCD,所以长度为4。

事实胜于雄辩,经Visual Studio.net2005检验(公认世界上最好的编译器),A、C、D输出都是a,唯独B输出的是14647,可见答案就是B。老师说的不一定就是对了。再说了,对于这个问题你就应该是自己试一下,自己写个程序看看不就知道了,输出的结果给老师看,我国估计你老师也没辙了。

在 C 语言代码中,通常的数字都是以十进制方式书写的。如果是八进制,必须在前面加“0”,如果是十六进制,必须在前面加“0x”。

比如 13、24、153、23424、11001001 等都是十进制

而 013、024、0153、02342、011001001 等都是八进制

又 0x13、0x24、0x153、0xfa、0x4DA3 等都是十六进制

如果是在字符中需要使用,那么 \ddd 是八进制的,\xhh 是十六进制的

如:\113 是八进制,\x61 是十六进制