关于sizeof()对字符数组
#include<stdio.h>#include<stdio.h>
int main()
{
char s[]="1234567";
printf("%d,%d",sizeof(s),strlen(s));
return 0 ;
}
打印的 sizeof(s)为什么为8? 结尾自动加\0,算一个 每个 char 占一个字节,结尾又有个 '\0',所以是 8 strlen 函数用于返回指定字符串的长度。
C 语言字符串的长度取决于结束符('\0')的位置。
一个字符串的长度指的是从起始位置到结束符的字符个数(不包含结束符本身)。
sizeof是返回尺寸大小他包括("\0") sizeof()打印的时候包含‘\0’,strlen()打印的时候不包含‘\0’
页:
[1]