当前位置: 代码迷 >> 综合 >> C语言-求字符串长度-strlen()与sizeof()
  详细解决方案

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

热度:7   发布时间:2023-12-14 08:43:48.0

需要在代码头部加上标准库<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’后还有空余的空间,也会包含到结果里面