以下是引用Twinkle_cj在2010-8-31 13:06:27的发言:
问1 char *s="\ta\017bc"中指针变量s 指向的字符串所占字节数是6的原因。
问2 char *s="\ta\018bc";
for(;*s!='\0';s++)printf("*")
的循环次数是6的原因。
谢谢你。
1
'\t' 是一个转义字符 相当于键盘“Tab”键
‘a’ 普通字符
'\017'转义字符 ASCII代码值为8进制数17即10进制数15的那个符号(LZ可以自己去查下看是什么符号)
‘b’ 普通字符
‘c’ 普通字符
然后再加一个字符串结束标志‘\0’所以指针变量s 指向的字符串所占字节数是6
2. 循环次数应该是6次吧??因为"\ta\018bc"中有六个字符加'\0'占7个字节,循环条件是*s!='\0',所以应该是循环6次!
其中 '\01'转义字符 ASCII代码值为8进制数1即10进制数1的那个符号(LZ可以自己去查下看是什么符号)
千万不要理解'\018'为1个转义字符,因为018不是一个正确的8进制数(只能出现0~7的数码符号)
[
本帖最后由 jack10141 于 2010-8-31 13:23 编辑 ]