您的位置:

c语言用函数求字符串长度,c语言中怎么求字符串的长度

本文目录一览:

c语言字符长度函数

正确的答案是5,题目选项有误。

首先strlen()函数返回的长度是不包含'\0',

第一个字符为:a

第二个字符为:b

第三个字符为:\n (换行符)

第四个字符为:2

第五个字符为:\ (\\转义为\)

所以答案为5。

(下图为实际代码演示)

扩展内容:

strlen()函数(C语言函数):

strlen所作的仅仅是一个计数器的工作,它从内存的某个位置(可以是字符串开头,中间某个位置,甚至是某个不确定的内存区域)开始扫描,直到碰到第一个字符串结束符'\0'为止,然后返回计数器值(长度不包含'\0')。

参考资料:strlen函数 - 百科

c语言:编写一个函数求给定字符串长度?

方法一:数组方式

代码如下:

lt;span style="font-size:18px;"gt;#includelt;stdio.hgt;

#includelt;assert.hgt;

int my_strlen(char const*str)

{

int count=0;

assert(str);//断言,判断指针的有效性

while(*str++!=NULL)

{

count++;

}

return count;

}

int main()

{

char arr[30]="trouble is a friend.";

printf("%d\n",my_strlen(arr));

getchar();

return 0;

}lt;/spangt;

运行结果:

方法二:指针方式

说明:当两个指针都指向同一个数组中的元素,指针减指针就是指针与指针之间元素的个数;两个地址相加没有实际意义。

代码如下:

lt;span style="font-size:18px;"gt;#includelt;stdio.hgt;

int my_strlen(char const*str)

{

char const*tmp=str;

while(*str!='\0')

{

str++;

}

return str-tmp;

}

int main()

{

char arr[30]="trouble is a friend.";

printf("%d\n",my_strlen(arr));

getchar();

return 0;

}lt;/spangt;

c语言,用函数计算字符串长度

getchar()函数的原型是 int getchar( void )

返回值是整型的

功能是:从标准输入中读取一个字符,也就是键盘敲击字符,只接收单个字符

可以用gets()函数来接收多个字符

这里的 s 接收的是该字符的ASCII码,非长度。

如果从原基础上改可以这样

int i;

char s[20]; /*字符串需要长度*/

gets( s );

i = num( s );

int num( char *s ) /* 这里的指针 ,后面学得到*/

{

}

套上去就可以了

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

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()求解由函数的形参传入的字符数组的长度时,得到的结果为指针的长度,既对应变量的字节数,而不是字符串的长度,此处一定要小心。