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语言的字符串是由字符数组形式保存的,并约定'\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'在内的长度。

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

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

第一个字符为:a

第二个字符为:b

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

第四个字符为:2

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

所以答案为5。

(下图为实际代码演示)

扩展内容:

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

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

参考资料:strlen函数 - 百科



C语言中字符串长度的函数是strlen(),一个字符的长度为1;

函数原型: 

unsigned int strlen (char *s);

头文件:

#include <string.h>

参数说明:s为指定的字符串;

功能说明:strlen()用来计算指定的字符串s 的长度,不包括结束字符'\0';

返回值:返回字符串s 的字符数;

注意:strlen() 函数计算的是字符串的实际长度,遇到第一个'\0'结束。

示例:

#include<stdio.h>
#include<string.h>
int main()
{
    char str[] = "ab
xyz";//
为回车字符,占一个字节
    printf("strlen(str)=%d
", strlen(str));
    return 0;
}
//输出结果:strlen(str)=6


答案是 6 也就是 c。
分别是
a b \n(换行符) 2 \\(字符\) '\0'(结束符)
其中,结束符是环境自动添加的。\在c中表示转义字符,要想输出,必须使用\\.

'\0'并不包含在strlen内,只作为鉴定已经结束的符号而已。答案应该是5。题目有误。

额…,a,b,2,还有转译字符,\\,\n,还有一个0!一共6个滴…


c语言字符串长度有哪些?
这个字符串长度为10个字符。可以用strlen("ab'1'\\\\\\12803")来求这个字符串的长度。也可以用sizeof("ab'1'\\\\\\12803")来求,但是这个求出的结果是多了一个字符串结束符\\0。可以试着输出这个字符串看看是不是10个字符。strlen()函数判断的字符串长度是以\\0为结尾作为标志的。当char * m=new ...

c语言编程 编写求字符串长度的函数int strlen(char*s),在主函数中调用...
思路:因为字符串都是以'\\0'作为结束标志,所以可以从字符串的第一个位置开始遍历,直到出现'\\0'停止遍历,并每次下标后移,字符串的长度加1,最后返回字符串长度。参考代码:include "stdio.h" int strlen(char *s){\/\/求字符串长度函数 int n;for(n=0;s[n]!='\\0';n++);return n;} ...

C语言:写一个函数,求一个字符串的长度.在main函数中输入字符串并输出其...
include<iostream> using namespace std;int main(){ int character(char *a);char a[20];int length;cout<<"请输入一个字符串:"<<endl;cin>>a;length=character(a);cout<<"字符串长度为:"<<length<<endl;return 0;}

c语言计算字符串的长度(用指针)
int main(){ char s[20];char*p;printf("please input a string(less than 20 character):\\n");\/\/scanf("%s",s);不能读入空格 gets(s);p=s;while(*p!='\\0')p++;printf("The string lenth is%d\\n",p-s);return 0;} printf()函数的调用格式为:printf("<格式化字符串>",<参...

c语言:编写一个函数求给定字符串长度?
方法一:数组方式 代码如下:#include<stdio.h> include<assert.h> 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...

c语言:写一个计算字符串长度的函数。要求如下: (1) 形参形式为指针形式...
include "stdio.h"int lns(char *p){int n=0;while(*p++)n++;return n;}int main(int argv,char *argc[]){\/\/测试主函数char s[]="abcdefghijklmnopqrstuvwxyz1234567890";printf("The length of the string 's' is %d\\n",lns(s));return 0;}运行结果:...

c语言中字符串的长度怎么计算?
最简单的方法就是:char c = 'A'+32 void main(){ char c='a'-32;printf("c %c",c);getch();}

c语言求字符串长度,用函数,不用指针
可以直接用函数。。。比如 char s[] = "aaabbbccc";int len = strlen(s);strlen就可以用来求字符串的长度。。。也可以自己写个函数来实现。。。include <stdio.h> int len(char s[]){ int i;for(i=0;s[i]!='\\0';i++);return i;} void main(){ char s[] = "aaabbbccc";int...

C语言strlen()函数,返回字符串长度?
因为在这里分析的难点是,第一个字符串的长度就是六。分析如下,第一个字符是两条斜杠,第二个字符是斜杠双引号,第三个字符是a,第四个字符是斜杠n,第五个字符是百分号,第六位字符是字母f。然后再用字符串连接,加上第二个字符串的五个字符,所以总的字符串长度就是6+5,等于11 ...

c语言编程:编写一个能测出一个字符串长度的函数,函数返回值就是字符串...
一,用strlen函数啊 main(){ char s[1000];int len;len=strlen(s);printf("字符串s的长度是:%d\\n",len);} len就是字符串s长度。二,简单的循环 main(){ char s[1000];int len;for(len=0;s[len++];);printf("字符串s的长度是:%d\\n",len);} len就是字符串s长度。很简单哦…...

莱芜市17341651831: C语言简单函数计算字符串长度 -
照爱康哌: int strlenOwn(const char* psz) /*const使得字符数组不被修改*/ {int len=0;while( *(psz++) ) //psz加啊加啊最后指到了字符串的最后一个的后面,检测到了"\0"len++; //(接上)于是乎while检测为false(即检测到0),字符串长len就算出来了return len; }这里面psz++是指针的位移操作,移动指向位置的,字符串常量对于c语言来说就是一种数组嘛 而括号外面的“ * ”是解引用符号,其实意思就是取指针当前位置的值,而不是它的地址.

莱芜市17341651831: C语言:写一个函数,求一个字符串的长度.在main函数中输入字符串并输出其长度 -
照爱康哌: #include<iostream> using namespace std; int main() { int character(char *a); char a[20]; int length; cout<<"请输入一个字符串:"<<endl; cin>>a; length=character(a); cout<<"字符串长度为:"<<length<<endl; return 0; } 扩展资料: return用...

莱芜市17341651831: C语言 写一函数,求出字符串的长度,在主函数中输入字符串,并输出其长度,不要用strlen函数 -
照爱康哌: main你自己写吧,函数代码如下:slen(char s[]){ int n=0; while (s[n]) n++; return(n-1); }

莱芜市17341651831: 如何在c语言中计算字符串长度 -
照爱康哌: C语言计算字符串长度,可以手动计算也可以使用库函数或者sizeof()操作符.方法: 1. 自定义函数求长度 2. 使用strlen()函数 3. 使用sizeof()操作符 自定义函数: int cont_str(char *s) { int i = 0; while ( str[i++] != '\0') ; return i; } 使用...

莱芜市17341651831: C语言 : 编写一函数,用于计算字符串的长度. -
照爱康哌: 第一个横线应该是输入的终止标志,可能是读入某个字符后终止读入,但你题目中没给出来. 第二个横线应该填i=i+1

莱芜市17341651831: C语言哪个函数可以返回字符的长度 -
照爱康哌: #include <string.h> size_t strlen( char *str ); 功能:函数返回字符串str 的长度( 即空值结束符之前字符数目).

莱芜市17341651831: c语言:对输入字符串长度有限制的函数的问题 -
照爱康哌: /// <summary>/// 截取字串/// </summary>/// <remarks>区分中英文(一个英文字符为1;中文为2)</remarks>/// <param name="strParent">原字串(父串)</param>/// <param name="needSize">返回字符数</param>/// <param name="...

莱芜市17341651831: C语言题目:写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度 -
照爱康哌: #include<stdio.h>int length(char *p)//传参这样 {int n=0;while(*p!='\0'){n++;p++;}return n; } int main(void) {char str[99];//这里有问题 定义数组就可以了int len;scanf("%s",str);len=length(str);printf("%d\n",len); }有帮助的话 给分 给最佳

莱芜市17341651831: (C语言)指针习题:编写测字符串长度函数strlen()? -
照爱康哌: 函数如下:int mystrlen(char *p){ int len=0; char *q=p; while(*q)len++; return len; } 有什么问题请留言.

莱芜市17341651831: c语言编程 编写求字符串长度的函数int strlen(char*s),在主函数中调用该函数输出指定字符串的长度
照爱康哌: 这个容易 int strlen(char* s) { int len; while(*s) len++; return len; } void main() { printf("%d\n", strlen("abcde") ); }

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网