barriers / 阅读 / 详情

C++中getlen()、strlen()、sizeof()三个函数的区别是什么?

2023-08-03 19:32:12
共2条回复
LocCloud
strlen() 这个函数是返回一个字符串中的字符个数,不包括结束符 "";
sizeof()()这个函数是返回一个对象或类型所占的内存字节数;

getlen()这个函数查了很多资料都没找到,应该是自己写的一个函数吧。
下面具体说一下strlen()和sizeof()函数。

strlen()函数原型:extern unsigned int strlen(char *s);,在Visual C++ 6.0中,原型为size_t strlen( const char *string );,其中size_t实际上是长整型long。
头文件:string.h
功能:计算字符串s的(unsigned int型)长度
说明:返回s的长度,不包括结束符NULL。
strlen(char*)函数求的是字符串的实际长度,它求得方法是从开始到遇到第一个"",如果你只定义没有给它赋初值,这个结果是不定的,它会从aa首地址一直找下去,直到遇到""停止。
char aa[10];cout<<strlen(aa)<<endl; //结果是不定的
char aa[10]={""}; cout<<strlen(aa)<<endl; //结果为0
char aa[10]="jun"; cout<<strlen(aa)<<endl; //结果为3
而sizeof()函数返回的是变量声明后所占的内存数,不是实际长度,此外sizeof不是函数,仅仅是一个操作符,strlen是函数。
sizeof(aa) 返回10
int a[10]; sizeof(a) 返回40
皮皮

getlen这个函数我没见过哦....msdn里面也没有 strlen 这个函数呢,是返回一个字符串中的字符个数,,不包括结束符 "" #include <string.h> #include <stdio.h> #include <conio.h> #include <dos.h> void main( void ) { char buffer[61] = "How long am I?"; int len; len = strlen( buffer ); printf( ""%s" is %d characters long ", buffer, len ); } Output "How long am I?" is 14 characters long sizeof..首先我要说的是,这个不是一个函数,是一个运算符.相当于 + - * ....它是系统的一个关键字..跟return int char是一类的..它能够得到一个变量的大小..(按字节计算)... int array[] = { 1, 2, 3, 4, 5 }; // sizeof( array ) is 20 因为array中含有5个int型..一个是4字节..

相关推荐

在C语言中Strlen是什么意思?

int strlen(char *)返回实参字符串的长度,不包括"".
2023-08-03 15:09:387

c语言中strlen是什么意思

标准函数 求字符串长度
2023-08-03 15:10:075

strlen()函数是什么意思?

strlen(char *)作用:检测字符串实际长度。如:char s[]="1234567"; int a=strlen(s);//a=7 实际上strlen(char *)检测的是"",strlen(char *)碰到""就返回""以前的字符数。又如: char f[]="1234561111"; int b=strlen(f);//b=6,因为遇到了""
2023-08-03 15:10:286

C语言中strlen(s)是什么意思?S是一个数组!

求这个字符数字的长度,是标准库函数,可以去查一下C标准库给出的函数接口
2023-08-03 15:10:597

C语言中strlen函数是怎么计数的?

从开始数,直到遇到字符"",""之前有几个字符,就返回几
2023-08-03 15:11:213

c语言strlen函数问题

用sizeof
2023-08-03 15:11:2912

c语言strlen函数问题

输出结果为"\141141abc "这个字符串的长度13,每个符号( 是一个)、字母、数字占一个字符。、chars[]="\141141abc "相当于char[13]="\141141abc ",即用字符串初始化了该数组。
2023-08-03 15:12:133

c语言求数组长度strlen

strlen 用于计算字符串的长度。数组长度,应是指数组大小,可存放几个数组元素。下面例子 计算 float 数组a, char 数组s 的 数组长度,计算s 里字符串长度。(sizeof 用来计算 变量 和 类型 占内存的大小,单位是字节。)#include <stdio.h>int main(){float a[5];char s[20]="abc123";int nf,ns,ms;nf = sizeof(a)/sizeof(float);ns = sizeof(s)/sizeof(char);ms = strlen(s);printf("number of element in a is %d ", nf);printf("number of element in s is %d ", ns);printf("s string length is %d ",ms); return 0;}输出:number of element in a is 5number of element in s is 20s string length is 6
2023-08-03 15:12:201

C语言实现strlen函数的几种方法

strlen函数的原理你都搞错了,其原型应该是这样的:intstrlen(char*);它接受的是一个char*类型的参数,真不晓得你的这个是怎么传递进去的。strlen计算字符串的长度例如"abc"的长度是3.但是实际上如果将其放到字符数组中的话,应该占4个元素。因为字符串是以字符""结尾的,但是这个""在我们的字符串是隐藏的,我们看不到。实际上是有的.例如:chara[4]="abc";//这里数组的元素个数至少应该是4,否则此字符串不叫字符串了,只能叫字符数组了。strlen判断一个字符串的结束就是以其末尾的""为界限。其实现代码可以模拟为以下:intstrlen(char*p){inti=0;while(*p++)i++;returni;}而你的数组没有正常的终止条件,所以strlen出问题了,#include#includevoidmain(){charx[3]={0};x[0]="a";x[1]="b";x[2]="c";intlen=strlen(x);printf("%c%d ",x[6],len);}把代码改成这样,就可以看出在执行strlen的时候,x的内容变了,具体原理参考源代码你在用右键查看定义就可以找到了,在vc98includestring.h文件里有size_t__cdeclstrlen(constchar*);你要注意一下,strlen是标准c库函数,不是c++的库函数,你可以在strlen前面发现有,extern"c"{这表明括号里面的是c语言写的函数你的程序里char占
2023-08-03 15:12:281

strlen函数计算字符串长度

strlen遇到就结束,不继续往下计算长度了1.答案1是因为第2个字符为,所以只计算了一个字符"A"2.答案3是因为 、v、\前面的是表示转义符3.答案1是因为x69表示是16进制的数值
2023-08-03 15:12:374

关于strlen

1.strlen()是用来求字符串的长度的,字符串是用""表示结束,strlen就是是检测到第一个""结束你可以体会下字符串和字符数组的区别改成下面这样就对了#include<stdio.h>main(){char*a=
2023-08-03 15:12:575

函数strlen("1234abc")的返回值是______.

strlen遇到第一个时返回,计数时不包含所以返回值是4,即"1","2","3","4",共4个字符!
2023-08-03 15:13:112

strlen("ABC")结果为什么是1

int strlen(const char* str){ const char *p = str; while(*p != "") ++p; return p - str;}或者int strlen(const char *str){ int i = 0; while(str[i] != "") ++i; return i;}
2023-08-03 15:13:254

请问C语言中strlen("ass ")是多少?

是4没错。分析如下:printf(" %d",strlen("abc "));反斜杠加上某字符是转义成某字符的意思,1就是1,]就是]。因此反斜杠加上某个字符的长度就是1个字节。长度会加1。除了一个特殊的字符之外 如下:printf(" %d",strlen("abc"));结果是3因为显式地给出了字符串的结束符,而我们知道strlen函数返回的长度是字符串的长度,不包括结束符。因此结果就是3再比如printf(" %d",strlen("abc\"));结果为4 printf(" %d",strlen("abc"));编译报错。因为反斜杠一定要跟上一个字符,哪怕跟的是空格。printf(" %d",strlen("abc"));注意反斜杠后有一个空格,此时转义的是空格,所以长度为4。
2023-08-03 15:13:331

strlen包括换行符吗str="ab 123\"" strlen(str)是多少

您好,很高兴回答您的问题!回答:1,strlen包括换行符,不包括结束符“”,strlen(str)的大小为7,分别为:a ,b, ,123,,,*共7个字符;2,如果您用sizeof的话会比strlen()多1个(加上最后的""),也就是8.
2023-08-03 15:13:401

调用字符函数strlen("abcdefggh")的返回值是----- A:4 B:5 C:9 D:13

A
2023-08-03 15:13:485

在C语言中,strlen(“TOP╲t╲0”)的值是

如果是英文半角的话, 值为5如果题目上就是全角的反斜杠, 那就是9
2023-08-03 15:14:142

C语言中strlen(s)是什么意思?S是一个数组!

strlen是C语言标准库提供的一个函数,给你提供strlen的一个版本,你就明白其中的s是什么意思了。size_tstrlen(constchar*s){constchar*sc;for(sc=s;*sc!="";++sc);return(sc-s);}
2023-08-03 15:14:211

C语言 strlen 函数求字节数 例如输入“how are you” 包括空格吗 矛盾!!

当然包含空格了,直到遇见""结束
2023-08-03 15:14:293

strlen遇到汉字会怎样处理?

strlen 在处理汉字串时,与处理一般的英文串是一样的,就是计算从串首地址开始检查到""字符的位置,然后计算两个地址的差,返回差值,也就是字符串中有多个字符(字节)""字符不是汉字的组成部分!对于一个汉字占几个字节,不同的字符集是不同的,如果环境变量设置为utf8,则一个汉字占三个字节如果设置成gbk类,则一个汉字占两个字节
2023-08-03 15:14:481

strlen和sizeof求字符串长度的区别

strlen是返回字符串的长度。该字符串可能是自己定义的,也可能是内存中随机的,该函数实际完成的功能是从代表该字符串的第一个地址开始遍历,直到遇到结束符NULL。sizeof是获得保证能容纳实现所建立的最大对象的字节大小。 strlen和sizeof求字符串长度的区别 一、定义不同 sizeof是运算符,在头文件中typedef为unsigned int,其值在编译时即计算好了,参数可以是数组、指针、类型、对象、函数等。 2、它的功能是:获得保证能容纳实现所建立的最大对象的字节大小。具体而言,当参数分别如下时,sizeof返回的值表示的含义如下:数组——编译时分配的数组空间大小;指针——存储该指针所用的空间大小(存储该指针的地址的长度,是长整型,应该为4)。 二、语法不同 1、strlen是函数,要在运行时才能计算。参数必须是字符型指针。当数组名作为参数传入时,实际上数组就退化成指针了。 2、它的功能是:返回字符串的长度。该字符串可能是自己定义的,也可能是内存中随机的,该函数实际完成的功能是从代表该字符串的第一个地址开始遍历,直到遇到结束符NULL。返回的长度大小不包括NULL。
2023-08-03 15:14:551

strlen是不是遇到空格就停止了?

不会停止,而且一个空格算一个字符
2023-08-03 15:15:032

求解一个c语言选择题 不是说strlen遇到/0就停止了吗?

是这样的。C语言中的字符串实际上是字符数组,即char类型的数组。不过特殊约定以作为结束符。strlen是C语言中字符串函数之一,功能为求字符串的长度。即字符串中有效字符的个数,不包括结尾的.要调用strlen,需要引用头文件string.h。比如strlen("1234");的返回值为4,在内存中实际存的值为"1","2","3","4",""。需要注意的是,sizeof和strlen的结果,在大多数情况下都是不同的。
2023-08-03 15:15:351

strlen如何求二维数组某一行的长度

我想你其实不是问这个问题,LZ想问的是?
2023-08-03 15:15:504

c++中的strlen怎么调用?

因为C++里没有string.h这个头文件,今天才听老师讲了。你用的是旧式的#include<iostream.h>#include<string.h>如果用下面的新式的就行#include<iostream>#include<string>using namespace std;因为using namespace std可以把C的string.h也包含进去,这就是新旧的差别!
2023-08-03 15:16:143

请教大家一个strlen函数的问题

出这道题目的人水平太差了,多办是半路出家的,非常不专业,你的分析是有道理的。可能出题人只用过TURBO C,因为只有TURBO C这样的小程序才喜欢画蛇添足,自动添加结束符,所以长度会都是3。TURBO C自动添加结束符的做法是不规范的,C语言定义并没有这样规定编译器的行为,我们写程序切记千万别依赖这些不规范行为,否则在你写手机程序、UNIX程序的时候,会感到无数的莫名其妙,许多时候永远都想不明白程序原因。你的分析完全正确,在UNIX、LINUX、FREE BSD等正规的C语言里面,都是不添加结束符的,下面是我在SCO UNIX下运行程序的情况:$ cat a.cmain(){ char p[]={"a", "b", "c"}, q[10]={"a", "b", "c"};printf("%d %d ", strlen(p), strlen(q));}$ cc a.c$ a.out9 3为什么输出结果是9和3呢,因为UNIX装载要初始化内存为0,所以第二个长度是3,而且前面个的9可以让我们知道p和q两个变量之间有多少内存浪费来对齐:)eGmeN4gFop22wPSBOiOI
2023-08-03 15:16:251

函数strlen("ABCD \123")的值是多少

返回7解析:ABCD \123分看单个字符ABCD // 这个是tab\ // 这个是123 // 这个是字符的8进制表示形式
2023-08-03 15:16:461

strlen 函数的源代码

int fun(char s1[]){int i,ans;for(i=0;s1[i]!="";i++)ans=i+1;return ans;}
2023-08-03 15:17:172

C语言中sizeof和strlen函数区别在哪?

一、sizeofsizeof(...)是运算符,在头文件中typedef为unsignedint,其值在编译时即计算好了,参数可以是数组、指针、类型、对象、函数等。它的功能是:获得保证能容纳实现所建立的最大对象的字节大小。由于在编译时计算,因此sizeof不能用来返回动态分配的内存空间的大小。实际上,用sizeof来返回类型以及静态分配的对象、结构或数组所占的空间,返回值跟对象、结构、数组所存储的内容没有关系。具体而言,当参数分别如下时,sizeof返回的值表示的含义如下:数组——编译时分配的数组空间大小;指针——存储该指针所用的空间大小(存储该指针的地址的长度,是长整型,应该为4);类型——该类型所占的空间大小;对象——对象的实际占用空间大小;函数——函数的返回类型所占的空间大小。函数的返回类型不能是void。二、strlenstrlen(...)是函数,要在运行时才能计算。参数必须是字符型指针(char*)。当数组名作为参数传入时,实际上数组就退化成指针了。它的功能是:返回字符串的长度。该字符串可能是自己定义的,也可能是内存中随机的,该函数实际完成的功能是从代表该字符串的第一个地址开始遍历,直到遇到结束符NULL。返回的长度大小不包括NULL;1.sizeof操作符的结果类型是size_t,它在头文件中typedef为unsignedint类型。该类型保证能容纳实现所建立的最大对象的字节大小。2.sizeof是算符,strlen是函数。3.sizeof可以用类型做参数,strlen只能用char*做参数,且必须是以""""结尾的。sizeof还可以用函数做参数,比如:shortf();printf("%d ",sizeof(f()));输出的结果是sizeof(short),即2。4.数组做sizeof的参数不退化,传递给strlen就退化为指针了。5.大部分编译程序在编译的时候就把sizeof计算过了是类型或是变量的长度这就是sizeof(x)可以用来定义数组维数的原因charstr[20]="0123456789";inta=strlen(str);//a=10;intb=sizeof(str);//而b=20;6.strlen的结果要在运行的时候才能计算出来,时用来计算字符串的长度,不是类型占内存的大小。7.sizeof后如果是类型必须加括弧,如果是变量名可以不加括弧。这是因为sizeof是个操作符不是个函数。8.当适用了于一个结构类型时或变量,sizeof返回实际的大小,当适用一静态地空间数组,sizeof归还全部数组的尺寸。sizeof操作符不能返回动态地被分派了的数组或外部的数组的尺寸9.数组作为参数传给函数时传的是指针而不是数组,传递的是数组的首地址,如:fun(char[8])fun(char[])都等价于fun(char*)在C++里参数传递数组永远都是传递指向数组首元素的指针,编译器不知道数组的大小如果想在函数内知道数组的大小,需要这样做:进入函数后用memcpy拷贝出来,长度由另一个形参传进去fun(unsigedchar*p1,intlen){unsignedchar*buf=newunsignedchar[len+1]memcpy(buf,p1,len);}
2023-08-03 15:17:301

直接调用字符串函数strlen( ),求字符串长度

strlen的结果要在运行的时候才能计算出来,主要用来计算字符串的长度,不是类型占内存的大小,strlen只能用char*做参数,且必须是以""""结尾的。1、第二个元素就是所以得到字符串长度为12、 v\都是转义字符,为三个字符,后面又是,所以长度为33、x69就是16进制的69,十进制为105,查看ascii表对应字符,而xxx指的是一个八进制值所对应字符,但是82显示不是,八进制只有0-7的数字,所以这里只是一个和数字82字符串长度为1如果要获得每个数组中有多少个字符可以考虑用sizeof
2023-08-03 15:17:381

C语言中的strlen函数

strlen是求字符串长度的函数。函数原型:unsigned int strlen(char *s);参数:s是char类型的指针,指向要求长度的字符串返回值:返回字符串的长度,返回类型是无符号整型注意:strlen所作的仅仅是一个计数器的工作,它从内存的某个位置(可以是字符串开头,中间某个位置,甚至是某个不确定的内存区域)开始扫描,直到碰到第一个字符串结束符""为止,然后返回计数器值(长度不包含“”)。实例:#include<string.h>#include<stdio.h>int main(void){ char*s="GoldenGlobalView"; printf("%s has %d chars",s,strlen(s)); getchar(); return 0;}
2023-08-03 15:17:465

strlen("ats 0121\")

C 程序段得意思是打印字符串的长度 其中ATS是字母 长度各为1 是转义字符 表示换行 012是数字,长度各为1 1也是个转义字符 \是转义字符 所以加一起是9
2023-08-03 15:18:001

关于strlen的算法

第一个97,先判断它不是八进制的,所以遇到就停止了第二个78是一个八进制的
2023-08-03 15:18:095

请问 C++中strlen()用法

数组str0中没有"",strlen是以""为标志判断字符串结束的。
2023-08-03 15:18:233

C语言中sizeof和strlen函数区别在哪?

一、sizeofsizeof(...)是运算符,在头文件中typedef为unsignedint,其值在编译时即计算好了,参数可以是数组、指针、类型、对象、函数等。它的功能是:获得保证能容纳实现所建立的最大对象的字节大小。由于在编译时计算,因此sizeof不能用来返回动态分配的内存空间的大小。实际上,用sizeof来返回类型以及静态分配的对象、结构或数组所占的空间,返回值跟对象、结构、数组所存储的内容没有关系。具体而言,当参数分别如下时,sizeof返回的值表示的含义如下:数组——编译时分配的数组空间大小;指针——存储该指针所用的空间大小(存储该指针的地址的长度,是长整型,应该为4);类型——该类型所占的空间大小;对象——对象的实际占用空间大小;函数——函数的返回类型所占的空间大小。函数的返回类型不能是void。二、strlenstrlen(...)是函数,要在运行时才能计算。参数必须是字符型指针(char*)。当数组名作为参数传入时,实际上数组就退化成指针了。它的功能是:返回字符串的长度。该字符串可能是自己定义的,也可能是内存中随机的,该函数实际完成的功能是从代表该字符串的第一个地址开始遍历,直到遇到结束符NULL。返回的长度大小不包括NULL;1.sizeof操作符的结果类型是size_t,它在头文件中typedef为unsignedint类型。该类型保证能容纳实现所建立的最大对象的字节大小。2.sizeof是算符,strlen是函数。3.sizeof可以用类型做参数,strlen只能用char*做参数,且必须是以""""结尾的。sizeof还可以用函数做参数,比如:shortf();printf("%d ",sizeof(f()));输出的结果是sizeof(short),即2。4.数组做sizeof的参数不退化,传递给strlen就退化为指针了。5.大部分编译程序在编译的时候就把sizeof计算过了是类型或是变量的长度这就是sizeof(x)可以用来定义数组维数的原因charstr[20]="0123456789";inta=strlen(str);//a=10;intb=sizeof(str);//而b=20;6.strlen的结果要在运行的时候才能计算出来,时用来计算字符串的长度,不是类型占内存的大小。7.sizeof后如果是类型必须加括弧,如果是变量名可以不加括弧。这是因为sizeof是个操作符不是个函数。8.当适用了于一个结构类型时或变量,sizeof返回实际的大小,当适用一静态地空间数组,sizeof归还全部数组的尺寸。sizeof操作符不能返回动态地被分派了的数组或外部的数组的尺寸9.数组作为参数传给函数时传的是指针而不是数组,传递的是数组的首地址,如:fun(char[8])fun(char[])都等价于fun(char*)在C++里参数传递数组永远都是传递指向数组首元素的指针,编译器不知道数组的大小如果想在函数内知道数组的大小,需要这样做:进入函数后用memcpy拷贝出来,长度由另一个形参传进去fun(unsigedchar*p1,intlen){unsignedchar*buf=newunsignedchar[len+1]memcpy(buf,p1,len);}
2023-08-03 15:18:311

请问 C++中strlen()用法

str0的sizeof为8,导致没有结束,因此strlen的返回是不可预期的。str1的sizeof实际上是9,会自动加结束。str2的56会被解释成8进制数056表示的字符,因此strlen是9str3的会被解释为结束符
2023-08-03 15:18:395

c语言里面的strlen是干什么的

计算字符串长度。
2023-08-03 15:18:543

c语言中strlen()怎么用

__cdecl strlen(const char *);计算字符串的实际长度(不含字符串结束标志‘"),并将计算结果作为函数值返回。
2023-08-03 15:19:1412

C语言中strlen什么用法

这个函数是用来计算字符数组的长度的。下面有个相似的问题,你可以看看。
2023-08-03 15:19:388

C语言中strlen()函数的意思?

strlen()返回参数字符串的长度
2023-08-03 15:19:542

strlen求字符串长度

strlen的结果要在运行的时候才能计算出来,主要用来计算字符串的长度,不是类型占内存的大小,strlen只能用char*做参数,且必须是以""""结尾的。1、第二个元素就是 所以得到字符串长度为12、 v \都是转义字符,为三个字符,后面又是,所以长度为33、x69就是16进制的69,十进制为105,查看ASCII表对应字符,而xxx指的是一个八进制值所对应字符,但是82显示不是,八进制只有0-7的数字,所以这里只是一个 和数字 82 字符串长度为1如果要获得每个数组中有多少个字符可以考虑用sizeof求采纳为满意回答。
2023-08-03 15:20:041

用strlen()时,头文件要用什么?

#include<string.h>其实你只要在Turbo C中键入strlen后将光标定位在这个单词上,右键,就会有关于这个函数的详细说明.
2023-08-03 15:20:111

C语言中sizeof与strlen的区别是什么

sizeof 是被测试类型占用字节的大小strlen是以为结束符的字符串的串长度(不含结束符)比如吧:char *p = "0123456789abcdef";char str[] = "0123456789abcdef";char str2[100] = "0123456789abcdef";sizeof(p) 只是 4(或8与操作系统有关,32位系统应当只是4)strlen(p) 是16个长度sizeof(str) 是17strlen(str) 是16sizeof(str2) 是100strlen(str2) 是16
2023-08-03 15:20:283

c语言,函数strlen("ASDFG ")的值是7,对吗?怎么看的?

不对的,这个值是6.1 strlen求的是字符串的长度,也就是从起始到的字符个数,不包括.2 对于写成常量字符串形式的"ASDFG "在最后有一个隐藏的.3 在这里 是C语言字符表达的转义字符形式,代表换行。也就是说, 是一个字符,而不是和n两个字符。4 综上,这个字符串包含的字符为A S D F G 一共6个,于是strlen的结果就是6.
2023-08-03 15:21:041

strlen("China ")的值是多少?

strlen是计算字符串长度,不包括字符串结束符,该问题主要是" "的问题," "不是字符串结束符,那么就会在计算内,且" "为转义字符,为单个字符,所以strlen("China ")结束为6。strlen是求字符串长度的函数。函数原型:unsigned int strlen(char *s);参数:s是char类型的指针,指向要求长度的字符串返回值:返回字符串的长度,返回类型是无符号整型注意:strlen所作的仅仅是一个计数器的工作,它从内存的某个位置(可以是字符串开头,中间某个位置,甚至是某个不确定的内存区域)开始扫描,直到碰到第一个字符串结束符""为止,然后返回计数器值(长度不包含“”)。实例:#include#includeint main(void){char*s="GoldenGlobalView";printf("%s has %d chars",s,strlen(s));getchar();return 0;}
2023-08-03 15:21:121

strlen算不算

strlen指的是字符串的长度,不包含/t。 strlen是C语言中的库函数,计算字符串长度,不包括尾0。 strlen所作的是一个计数器的工作,它从内存的某个位置(可以是字符串开头,中间某个位置,甚至是某个不确定的内存区域)开始扫描,直到碰到第一个字符串结束符""为止,然后返回计数器值(长度不包含"")。
2023-08-03 15:21:311

strlen函数计算字符串长度

strlen遇到就结束,不继续往下计算长度了1.答案1是因为第2个字符为,所以只计算了一个字符"A"2.答案3是因为 、v、\前面的是表示转义符3.答案1是因为x69表示是16进制的数值
2023-08-03 15:21:545

strlen("China ")的值是多少?

strlen是计算字符串长度,不包括字符串结束符,该问题主要是" "的问题," "不是字符串结束符,那么就会在计算内,且" "为转义字符,为单个字符,所以strlen("China ")结束为6。strlen是求字符串长度的函数。函数原型:unsigned int strlen(char *s);参数:s是char类型的指针,指向要求长度的字符串返回值:返回字符串的长度,返回类型是无符号整型注意:strlen所作的仅仅是一个计数器的工作,它从内存的某个位置(可以是字符串开头,中间某个位置,甚至是某个不确定的内存区域)开始扫描,直到碰到第一个字符串结束符""为止,然后返回计数器值(长度不包含“”)。实例:#include#includeint main(void){char*s="GoldenGlobalView";printf("%s has %d chars",s,strlen(s));getchar();return 0;}
2023-08-03 15:22:341

strlen函数

1.strlen所作的仅仅是一个计数器的工作,它从内存的某个位置(可以是字符串开头,中间某个位置,甚至是某个不确定的内存区域)开始扫描,直到碰到第一个字符串结束符""为止,然后返回计数器值(长度不包含“”)。2.头文件:string.h格式:strlen(字符数组名)。功能:计算给定字符串的(unsignedint型)长度,不包括""在内。说明:返回s的长度,不包括结束符NULL。相关函数:TCHAR.Hroutine_UNICODE&_MBCSnotdefined_MBCSdefined_UNICODEdefined_tcslen3.应用:#include<string.h>#include<stdio.h>int main(void){ char*s="GoldenGlobalView"; printf("%s has %d chars",s,strlen(s)); getchar(); return 0;}
2023-08-03 15:22:448

函数strlen("abcde ")的值是?

6撒,lz不会自己编个程序试试……
2023-08-03 15:23:005