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',''};  char s3[] = "hello world";  char s4[] = {'h','e','l','l','0','',' ','w','o','r','l','d',''};  printf("%dt%dt%dt%dn",strlen(s1),strlen(s2),strlen(s3),strlen(s4));  printf("%dt%dt%dt%dn",sizeof(s1),sizeof(s2),sizeof(s3),sizeof(s4));  /*  输出:  11      11      5       5  20      20      13      13  */

函数说明

  1. strlen():求得的字符串长度是从字符串第一个元素到第一个’’之间元素的个数(如果字符串中间有’’,则结果不是整个字符串的长度),同时不包括该’’
  2. sizeof():求得的字符串长度是存储该字符串的变量占用的空间大小,因而一定会包括’’.若’’后还有空余的空间,也会包含到结果里面