简单的说,\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 是十六进制