char *s="\n123\\"; printf("%d,%d",strlen(s),sizeof(s));答案是5,4 刚编译了下 确实 求解释。等

如题所述

楼主你好~~
首先要搞清楚,char *s ,s是一个字符型指针,指向一个字符串"\n123\\";~
这个字符串包含一个换行符,123三个数字字符,及一个转义后的反斜杠,一共5个字符。
所以用计算字符串长度的strlen函数的话,会得到该字符串长度,为5。
而sizeof函数则是计算这个类型在内存中所占大小,无论是int还是char型的指针,占用内存都为4,所以sizeof(s)是4。
希望楼主能看明白哈~~
温馨提示:答案为网友推荐,仅供参考
相似回答