char str[]="abcd\n123\xab"; printf("%d",strlen(str)); 这个语句的输出strlen函数的意思是7怎么数出来的?abcd算4个,123是算1个吗?

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/30 05:58:57

char str[]="abcd\n123\xab"; printf("%d",strlen(str)); 这个语句的输出strlen函数的意思是7怎么数出来的?abcd算4个,123是算1个吗?
char str[]="abcd\n123\xab"; printf("%d",strlen(str)); 这个语句的输出strlen函数的意思是7
怎么数出来的?
abcd算4个,123是算1个吗?

char str[]="abcd\n123\xab"; printf("%d",strlen(str)); 这个语句的输出strlen函数的意思是7怎么数出来的?abcd算4个,123是算1个吗?
首先,长度肯定是9,这是必须的.
如果是123肯定只占1个,但是‘1''2''3’是占3个.表述一定要清楚
在这个问题中,使用str[]赋值,末尾自动加‘\0’
9个字符分别为:
‘a’ 'b' 'c' 'd' '\n' '1' '2' '3' '\xab'
'\x'是转义字符,表示后面的'ab'是16进制值,最后一个字符就是'\xab' ASCII码=160 + 11 = 171,是一个乱码字符