C语言-求字符串长度-strlen()与sizeof()

需要在代码头部加上标准库<string.h>


代码示例

#include <string.h>

char s1[20] = "hello world";
char s2[20] = {'h','e','l','l','0',' ','w','o','r','l','d','\0'};
char s3[] = "hello\0 world";
char s4[] = {'h','e','l','l','0','\0',' ','w','o','r','l','d','\0'};   
printf("%d\t%d\t%d\t%d\n",strlen(s1),strlen(s2),strlen(s3),strlen(s4));
printf("%d\t%d\t%d\t%d\n",sizeof(s1),sizeof(s2),sizeof(s3),sizeof(s4));
/*
输出:
11      11      5       5
20      20      13      13
*/

函数说明

  1. strlen():求得的字符串长度是从字符串第一个元素到第一个’\0’之间元素的个数(如果字符串中间有’\0’,则结果不是整个字符串的长度),同时不包括该’\0’

  2. sizeof():求得的字符串长度是存储该字符串的变量占用的空间大小,因而一定会包括’\0’.若’\0’后还有空余的空间,也会包含到结果里面

猜你喜欢

转载自blog.csdn.net/qq_38251616/article/details/105338729