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

来源:学生作业帮助网 编辑:作业帮 时间:2024/09/10 12:48:54
char str[]=
x͒MO@Z, H8$ZGqA&qP@>8rYO }{e;;\%_zcVꋗORfT.XF&[xoSZ}zTN@޽75\~_Ը#է  n5Zi8q]%KEc( '':kn?i,)[LWx{j4mP:JSP/Bi%_;CKIW*7v`,XNNYܮ˞ơo#Ix{ܯԜqs_B K%=yާuQgЌn=rɹ b4LI4KZC4$`I>pAi 6ؽFX5|!j5f֞>u3X[c0\X7tp*3RNŴ'=

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,是一个乱码字符