大家好,今天小编关注到一个比较有意思的话题,就是关于c语言传长度的问题,于是小编就整理了2个相关介绍c语言传长度的解答,让我们一起看看吧。
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()求解由函数的形参传入的字符数组的长度时,得到的结果为指针的长度,既对应变量的字节数,而不是字符串的长度,此处一定要小心。
在C语言中,可以使用标准库函数strlen()来计算字符串的长度。该函数定义在<string.h>头文件中。
以下是使用strlen()函数计算字符串长度的示例代码:
c
***
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "Hello, world!";
int len = strlen(str);
printf("The length of the string is %d\n", len);
return 0;
}
输出结果为:
***
The length of the string is 13
注意,strlen()函数返回的是字符串的字符数,不包括结尾的空字符'\0'。
c语言求字符串长度?
我推荐2种方法:-------------------------方法一:用库函数strlen()举例:#include<stdio.h>#include<string.h>int main(){ char a[100]; int num; printf("请输入字符串,enter键结束:"); gets(a); num=strlen(a);/*这里,strlen()就是计算a的输入长度,一般,有了这一步,我会加一步a[num]='\0';*/ printf("你刚才输入了%d个字符\n",num); return 0;}---------------------------------方法2:直接输入时计算,这种方法,纯粹是在一边输入一遍计算具体是,定义一个count,然后做判断,没输入一个字符,count加1,即count++;举例:#include<stdio.h>#include<string.h>int main(){ char a[100]; int num=1;//进入while循环的条件 int count=0;//count计算字符输入情况 int i=0;//数组下标 printf("请输入字符串,按***数字0结束:"); while(num) { a[count]=getchar(); if(a[count]=='0') //当输入0,结束 num=0; count++; } printf("你刚才输入了%d个字符\n",count); return 0;}注意,第2种方法中,你按enter键,也算字符,只不过是空字符,你看不到而已。希望对你有帮助。
到此,以上就是小编对于c语言传长度的问题就介绍到这了,希望介绍关于c语言传长度的2点解答对大家有用。