精华内容
下载资源
问答
  • C语言字符串长度

    2016-12-23 17:27:22
    C语言字符串长度的计算是编程时常用到的,也是求职时必考的一项。 C语言本身不限制字符串的长度,因而程序必须扫描完整个字符串后才能确定字符串的长度。 在程序里,一般会用strlen()函数或sizeof来获取一个字符串...
    C语言字符串长度的计算是编程时常用到的,也是求职时必考的一项。

    C语言本身不限制字符串的长度,因而程序必须扫描完整个字符串后才能确定字符串的长度。

    在程序里,一般会用strlen()函数或sizeof来获取一个字符串的长度,但这2种方法获取的字符串的长度其实是不一样,我们用如下函数进行测试

    [cpp] view plain copy
    1. void test6()  
    2. {  
    3.      char s1[20] = "hello world";  
    4.      char s2[20] = {'h','e','l','l','0',' ','w','o','r','l','d','\0'};  
    5.      char s3[] = "hello\0 world";  
    6.      char s4[] = {'h','e','l','l','0','\0',' ','w','o','r','l','d','\0'};     
    7.   
    8.      printf("%d\t%d\t%d\t%d\n",strlen(s1),strlen(s2),strlen(s3),strlen(s4));  
    9.      printf("%d\t%d\t%d\t%d\n",sizeof(s1),sizeof(s2),sizeof(s3),sizeof(s4));  
    10.   
    11. }  

    注意,该函数里面定义了4个字符串,基本数据都是“hello world",但需要注意的是,字符串s1和s2给定了字符串数组的大小为20,然后使用2种方式进行赋值;字符串s3和s4是s1和s2对比的字符串,区别就是s3和s4字符串中间插入了一个'\0'。该函数运行的结果如下:


    从运行结果可以看出,strlen()函数和sizeof求字符串长度需要注意下面几点:

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

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

    解释(与2种求值方式的实现原理有关):

    1. strlen()的一种实现就是遍历字符串,遇到'\0'就终止,因而返回的结果是第一个'\0'前字符元素的个数

    2. sizeof 常用来求变量占用内存空间的大小,因而它返回的是存储字符串的变量所占用的内存空间大小,用来求字符串的长度,只在特定情况下可行,即字符数组刚好被一个字符串占满。

    展开全文
  • C语言 字符串长度

    千次阅读 2016-02-27 13:05:28
    计算长度有两个函数:strlen sizeof  strlen 计算字符串里面一共有多少个字符 sizeof 计算字符串占的总内存空间 如: char str[20]={"123456"};  strlen(str);等于 6 sizeof(str); 等于20
     计算长度有两个函数:strlen sizeof 
    strlen 计算字符串里面一共有多少个字符
    sizeof 计算字符串占的总内存空间
    如:
    char str[20]={"123456"}; 
    strlen(str);等于 6
    sizeof(str); 等于20 
    展开全文
  • 计算机基础知识之C语言字符串长度

    题目:

    在C语言中,字符串“w\x53\\\np”占用的内存长度()?

    A.5  B.6  C.8  D.11

    小白型答案:D,这个字符串里面有10个字符,啊,没有10的选项,对了,长度要+1,因为有个"\0"。

    正确答案:B。"\x53"看成一个16进制字符"S";\\看成"\";"\n"是换行。

    所以这个题的考点是认不认识转义字符……以及字符串占用内存长度要+1

     

    #include <stdio.h>
    #include <string.h>
    int main()
    {
        char str[6]="w\x53\\\np";
        printf("具体内容:\n");
        printf("%s\n",&str);
        printf("长度:\n");
        printf("%d\n",strlen(str));
        printf("长度2:\n");
        printf("%d",sizeof(str));
        return 0;
    }

    上面这段代码可以在这个网站中运行

    请注意请注意请注意:字符串的长度为5,占用内存长度为6。

    之前说正确答案是A,是我错了,如果有误导你,万分抱歉。

    展开全文
  • C语言计算字符串长度,可以手动计算也可以使用库函数或者sizeof()操作符。方法:自定义函数求长度使用strlen()函数使用sizeof()操作符自定义函数:int cont_str(char *s){int i = 0;while ( str[i++] != '\0') ;...

    34c704fe92e2713dbd1f272c7ac4c18e.png

    C语言计算字符串长度,可以手动计算也可以使用库函数或者sizeof()操作符。

    方法:

    自定义函数求长度

    使用strlen()函数

    使用sizeof()操作符

    自定义函数:

    0e81526a27a08df9cb9910c5f173403f.pngint cont_str(char *s)

    {

    int i = 0;

    while ( str[i++] != '\0') ;

    return i;

    }

    使用string头文件中的strlen()函数:

    5488a314c2e4b4d62139a2d3f72bf3ec.png

    strlen(str); //假设str为待求的字符串数组名

    使用sizeof()操作符:

    d5a57306c23cea365555ca4531cbfd1e.png

    sizeof(str)/sizeof(str[0]); //假设str为待求的字符串数组名

    注意:

    strlen()函数求出的字符串长度为有效长度,既不包含字符串末尾结束符 ‘\0’;

    sizeof()操作符求出的长度包含字符串末尾的结束符 ‘\0’;

    当在函数内部使用sizeof()求解由函数的形参传入的字符数组的长度时,得到的结果为指针的长度,既对应变量的字节数,而不是字符串的长度,此处一定要小心。

    更多常见问题的相关技术文章,请访问常见问题栏目进行学习!

    展开全文
  • C语言字符串长度的计算方法主要有两个。一个是sizeof,一个是string.h头文件下的strlen。以下是它们各自计算的区别: 1、C语言中的sizeof 1.1 sizeof(str)主要计算的是字符串占用字节的大小,并且会把''\0'结束...
  • C语言字符串长度的计算是编程时常用到的,也是求职时必考的一项。 C语言本身不限制字符串的长度,因而程序必须扫描完整个字符串后才能确定字符串的长度。 在程序里,一般会用strlen()函数或sizeof来获取一个字符串...
  • C语言字符串长度的计算是编程时常用到的,也是求职时必考的一项。 C语言本身不限制字符串的长度,因而程序必须扫描完整个字符串后才能确定字符串的长度。 在程序里,一般会用strlen()函数或sizeof来获取一个字符串的...
  • C语言字符串长度计算

    千次阅读 2019-09-24 09:18:59
    C语言的应用过程中经常性的会用到字符串,以及对字符串长度进行计算的问题。 首先大家常用的办法是使用strlen函数和sizeof关键字进行设计。 sizeof()返回字节数,strlen()返回的是字符数。 例如: char ...
  • C语言字符串长度和字符串复制实现

    千次阅读 2016-06-08 10:17:43
    #include #include #include <string.h>//字符串长度 int mystrlen(const char* str) { if (str == NULL) return -1; int len = 0; while (*str++ != '\0') { len+
  • 有好几次都困扰在字符串长度的计算方法上,为什么会困扰,原因是不同的平台,有的函数是没有的。 一般来说使用strlen这个函数来计算,在windows编程中应该没问题,但是在其他地方就不一定可以了。以前看到过下面的...
  • 参考文章:...                 ...1、三者长度strlen问题 int main () { char *str="xiaolong"; printf("%d\n",strlen(str)); return 0...
  • “AB”这个字符串长度是多少呢? “AB”这个字符串的所占内存长度是多少? 赋值给字符数组后会不会改变呢? char a[] = “AB”; 那么a的字符长度是多少?a的内存长度是多少? 代码测试: char a[] = "AB"; int L...
  • C语言字符串长度的计算方法 (2009-07-07 15:45:47) 转载 标签 字符长度计算 c语言 教育 分类 细品COPY 提示(1)计算字符串长度时关键是要注意辨认转义字符(2)一个转义字符总是以反斜杠开始再加一个其他字符组成所以...
  • C语言字符串回顾

    2015-03-16 12:19:37
    C语言字符串长度的计算是编程时常用到的,也是求职时必考的一项。 C语言本身不限制字符串的长度,因而程序必须扫描完整个字符串后才能确定字符串的长度。 在程序里,一般会用strlen()函数或sizeof来获取一个...
  • C语言字符串长度的计算方法

    万次阅读 多人点赞 2018-08-16 20:39:04
    (1)计算字符串长度时关键是要注意辨认转义字符;(2)一个转义字符总是以反斜杠开始,再加一个其他字符组成。所以,遇到反斜杠时要特别注意!!! 1、不带转义字符的字符 如:“abc!x=/”,其长度为7 2、带转义...
  • C语言字符串输入及输出的几种方式

    万次阅读 多人点赞 2018-02-06 00:12:56
    1.字符串数组+初始化 ... //数组长度=字符串长度+1,因为字符串末尾会自动添‘\0‘ printf("%s,%c\n",s1,s2[2]); //array,r 2.字符串指针+初始化 char *sp="pointer"; //字符指针 printf("%s,%c,%c\n",sp,
  • 微信公众号:杨源鑫关注可了解更多的教程及排版技巧。问题或建议,请公众号留言;...协议做如下规定规定数据协议:序列号长度状态字数据长度数据1数据2数据3以空格作为数据单元。 例如:0000100007133456726358...
  • ③不能使用C语言的关键字定义其他的标识符。④变量在声明的同时可以给其赋值,称为变量的初始化。⑤如果任何时候都不希望改变某个变量的值,可以将该变量声明为固定变量。在定义并初始化该变量时,为其声明加上保留...
  • c语言计算字符串长度

    2020-05-04 16:38:07
    一、使用strlen()函数 C语言 strlen 函数用来求字符串的...最终统计的字符串长度不包括’\0’。 头文件:string.h 二、使用sizeof()操作符 sizeof(str)/sizeof(str[0]); //假设str为待求的字符串数组名 sizeof(str)...
  • C语言获取字符串长度的几种方法

    千次阅读 多人点赞 2020-09-02 10:50:58
    C语言中,想要获取字符串长度可以有很多方法,下面分别介绍 一、使用sizeof()运算符 在C语言中,sizeof() 是长度的运算符,括号中可以放入数据类型或者表达式,一般我们用来计算字符串长度。 基本用法: int i=10;...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,087
精华内容 2,434
关键字:

c语言字符串长度

c语言 订阅