双马单炮对单车:c语言这个知识点 不很清楚

来源:百度文库 编辑:神马品牌网 时间:2024/04/30 05:22:15
1.char *s="\ta\017bc";指针变量s指向的字符串所占的字节数是多少?为什么?
2.char *s="\ta\018bc";for(;*s!="\0";s++) printf("*") 问:for循环的次数是几次?为什么
答案是1题占6个字节,2题是循环执行次数是6次。
怎么判断转义字符,如\017是一个,而\018是两个了哪

1.字符串的字节数当然是6。字符是'\t','a','\017','b','c','\0',每个占1字节。
2.循环次数是5。前5个字符都不是'\0',所以会进入5次printf("*"),到第6次,s指向第6个字符'\0',条件为false,终止循环
ps:*s!='\0'才是对的
'\017'是一个字符,017为8进制ascii码,前面的'\'为转义符

for(;*s!="\0";s++) 这条语句有问题,应该改为for(;*s!=‘\0’;s++)

3 到\0就结束了
2 for循环先判断条件