c语言中字符串的长度是如何计算的?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言中字符串的长度是如何计算的?相关的知识,希望对你有一定的参考价值。

可以将整数当做字符串(字符串长度不超过10)接收,然后反向输出字符数组元素即可。

字符串实际长度可以用strlen函数来计算。

方法程序如下:

#include<stdio.h>

#include<string.h>

main()

char a[10];int i,j;

scanf("%s",a);

j=strlen(a);

for(i=j-1;i>=0;i--)

printf("%c",a[i]);

printf("\\n");

扩展资料:

C语言高效编程技巧:

一:以空间换时间

计算机程序中最大的矛盾是空间和时间的矛盾,那么,从这个角度出发逆向思维来考虑程序的效率问题

二:数学方法解决问题 

数学是计算机之母,没有数学的依据和基础,就没有计算机发展,所以在编写程序的时候,采用一些数学方法会对程序的执行效率有数量级的提高。

三:使用位操作

实现高效的C语言编写的第三招----使用位操作,减少除法和取模的运算。

在计算机程序中,数据的位是可以操作的最小数据单位,理论上可以用“位运算”来完成所有的运算和操作。一般的位操作是用来控制硬件的,或者做数据变换使用,但是,灵活的位操作可以有效提高程序运行的效率。

参考资料来源:百度百科-C语言

参考技术A C语言中并没有字符串这种数据类型,都是通过char型数组来表示。

字符串的定义就是:char型数组中,数字0(和字符‘\0’等价)结尾的char数组就是一个字符串。
因此char型数组没有以数字0结尾,那么就不是一个字符串,只是普通字符数组,所以字符串是一种特殊的char的数组。
C语言中,字符串一定是一个char型数组,但char型数组未必是字符串。
那么字符串长度的定义就是:char型数组中字符'\0'之前的字符数量。
例如,char str[] = '1', '2','\0';
虽然char型数组str的长度是3,但是作为字符串,长度就是2.
参考技术B 找到字符串结束符0x00为止。

如何在c语言中计算字符串长度

例如:有一字符串“MIKE JODAN",需要输出此字符串,并分别计算字符串空格前的字符串长度和空格 后的字符串长度,

输出显示:MIKE JODAN
4 5

尝试用STRLEN命令,但是计算的是全部的长度,如何让解决,谢谢。

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

方法:

    自定义函数求长度

    使用strlen()函数

    使用sizeof()操作符


自定义函数:

int cont_str(char *s)

int i = 0;      

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

return i;


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

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


使用sizeof()操作符:

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

注意:

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

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

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

参考技术A

C语言的字符串是由字符数组形式保存的,并约定'\\0'(ascii码值为0)作为字符串结束符。其长度为从字符串开始,到'\\0'结束,所有字符的个数,不包括'\\0'本身。

要获得字符串长度,有两种方法可以使用,使用库函数strlen()。strlen声明在string.h中,原型为int strlen(char *str);功能为求str的长度,并返回。对于字符串str, 可以用代码求长度。当str[len]为0时,退出循环,退出后的len值就是str的长度。

拓展资料:使用strlen函数,包含在头文件string.h里,功能就是计算字符串s的(unsigned int型)不包括'\\0'在内的长度。

参考技术B

C语言的字符串是由字符数组形式保存的,并约定'\\0'(ascii码值为0)作为字符串结束符。

其长度为从字符串开始,到'\\0'结束,所有字符的个数,不包括'\\0'本身。

要获得字符串长度,有两种方法可以使用:

1 使用库函数strlen()。

strlen声明在string.h中,原型为

int strlen(char *str);

功能为求str的长度,并返回。


2 根据定义求长度。

对于字符串str, 可以用如下代码求长度:

int len;
for(len = 0; ; len ++)
    if(str[len] == '\\0')break;

当str[len]为0时,退出循环,退出后的len值就是str的长度。

参考技术C 可以做一个小的程序来实现,这样在你的程序中调用就可以的 我做了一个 你先看看
#include<stdio.h>

int main()

char a[]="hello worldwerer sdefe drefefefef";
int i,count=0;
for(i=0;a[i]!='\0';i++)


if(a[i]==' ')

printf("%d,",count);
count=0;
continue;

count++;

printf("%d",count);
getchar();
本回答被提问者采纳
参考技术D 用strlen得到整个长度,再用循环语句找到空格位置,然后计算得到两部分的长度即可。

以上是关于c语言中字符串的长度是如何计算的?的主要内容,如果未能解决你的问题,请参考以下文章

在计算机c语言中,如何判断字符串长度

c语言如何计算n行字符串的长度?

C语言字符串长度如何数?

c语言 计算字符串长度

C语言字符串长度如何数?

C语言中如何获取数据长度?