c语言,函数strlen("ASDFG\n")的值是7,对吗?怎么看的?
不对的,这个值是6.
1 strlen求的是字符串的长度,也就是从起始到\0的字符个数,不包括\0.
2 对于写成常量字符串形式的"ASDFG
"在最后有一个隐藏的\0.
3 在这里
是C语言字符表达的转义字符形式,代表换行。也就是说,
是一个字符,而不是\和n两个字符。
4 综上,这个字符串包含的字符为A S D F G
一共6个,于是strlen的结果就是6.
strlen是计算字符串长度,不包括字符串结束符,该问题主要是'
'的问题,'
'不是字符串结束符,那么就会在计算内,且'
'为转义字符,为单个字符,所以strlen('China
')结束为6。
strlen是求字符串长度的函数。
函数原型:unsigned int strlen(char *s);
参数:s是char类型的指针,指向要求长度的字符串
返回值:返回字符串的长度,返回类型是无符号整型
注意:
strlen所作的仅仅是一个计数器的工作,它从内存的某个位置(可以是字符串开头,中间某个位置,甚至是某个不确定的内存区域)开始扫描,直到碰到第一个字符串结束符'\0'为止,然后返回计数器值(长度不包含“\0”)。
实例:
#include
#include
int main(void)
{
char*s="GoldenGlobalView";
printf("%s has %d chars",s,strlen(s));
getchar();
return 0;
}
1 strlen求的是字符串的长度,也就是从起始到\0的字符个数,不包括\0.
2 对于写成常量字符串形式的"ASDFG\n"在最后有一个隐藏的\0.
3 在这里\n是C语言字符表达的转义字符形式,代表换行。也就是说,\n是一个字符,而不是\和n两个字符。
4 综上,这个字符串包含的字符为A S D F G \n一共6个,于是strlen的结果就是6.
函数调用strcat(strcpy(strl,str2),str3)的功能是( )。
【答案】:C C。【解析]strcat(sl,s2)函数的功能是把s2字符串连接到sl字符串末尾,strcpy(sl,s2)是把s2字符串复制到sl字符串,要保证sl的容量。
...函数strchr,调用形式为char*strchr(char*strl,char*str2),找出s...
首先,说明一下,对于从一个字符串中找另一个字符串的标准函数应该是strstr。strchr是从字符串中找字符char *strchr(char *str1, char ch);下面是strstr的模拟函数:char * my_strstr(const char *src,const char *substr){ char *p,*tt;if(src == NULL || substr == NULL)return (char *...
解释一下程序(C语言)
{int I,strl,half;char xy[20];ltoa(n,xy,10); \/\/这里用到itoa() 应该是个自定函数 ,这里没写,我不知道干嘛。。strl=strlen(xy); \/\/ strl 数组长。half=strl\/2; \/\/数组半长,for(I=0;I<half;I++)if(xy[I]!=xy[--strl]) break; \/\/第i个和第 --strl是否相等。 ...
strlen 函数
程序主要错在第一个for语句for(j=1;j<(strlen(xx[i])-2);j=j+2)中的(strlen(xx[i])-2)这一句。因为strlen()函数的反回类型为unsigned int(无符号整型),因此再进行strlen(xx[i]-2的时候得到的是一个负数-2,而unsigned int是无法表示负数的,因此就被计算机转换为补码的形式来表示-2了...
CString提取十六进制数存入char数组
\/\/字符串专char数组,strl为字符串,需要和函数HexChar(h搭配用 int Str2Hex(CString strl, char *data){ int t,t1;int rlen=0,len=strl.GetLength();\/\/data.SetSize(len\/2);for(int i=0;i<len;){ char l,h=strl[i];if(h==' '){ i++;continue;} i++;if(i>=len){ break...
怎么用sql查询str(2009)
其中:modifier可以是 i|I : 不区分大小写的搜索 t|T : 忽略string和substring中的末尾空格 startpos指定从string的何处开始搜索substring,正值从左至右,负值反向。data test;str='She seashells.SHE, she does';strl=find(str,'she'); \/*区分大小写,从str第1个字符开始査找,返回8*\/ str2=...
c语言中的strcat是什么意思啊?
1、strcat是用来拼接字符串的,它会将参数 src 字符串复制到参数 dest 所指的字符串尾部。具体用法首先用vs2017新建一个c语言的程序文件,引入头文件,引入strcat函数所在的包“string.h”,最后设置一个主函数:2、接着用str函数复制一段话,首先定义一个80位的char类型变量,接着用strcat函数拼接成...
ABAP语言 WHILE的所有用法?
STRL TYPE I VALUE 0,STRING(30) TYPE C VALUE 'Test String'.STRL = STRLEN( STRING ).WHILE STRING NE SPACE.WRITE STRING(1).LENGTH = SY-INDEX.SHIFT STRING.ENDWHILE.WRITE: \/ 'STRLEN: ', STRL.WRITE: \/ 'Length of string:', LENGTH.产生如下输 出:T e s t S t r...
C语言strcat函数怎么用
在C++中,则存在于<cstring>头文件中。strcat原型:extern char *strcat(char *dest,char *src);功能:把src所指字符串添加到dest结尾处(覆盖dest结尾处的'\\0')并添加'\\0'。说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。返回指向dest的指针。strcat()函数从名称...
谁帮忙讲下">"和"strcmp"的在使用中区别
字符串的比较不能用>,<,==这些比较符。因为字符串的名字只是一个地址常量,直接用比较符的话只是比较地址的大小,不是字符串内容的大小。
系春红源: strlen()是读取字符串长度的意思,举例如下 char a[]={'a','b','c'}; return strlen(a); 返回字符串a的长度,是3. 需要注意的是,strlen()函数需要<string.h>的头文件. 如有疑问请您追问.
万山特区17367867422: C语言中的strlen函数 - ?
系春红源: strlen()只是统计字符串的长度,统计到'\0'结束,但不包括'\0',这个与sizeof()不一样.对于用双引号引起来的字符串,系统默认最后一位字符为'\0',如你自己定义的:char a[]="china"; char b[]={"china"}; 另外,数组初始化还可以是一...
万山特区17367867422: c语言中strlen是什么意思 - ?
系春红源: strlen:计算字符串长度的库函数名. str:通常,程序员喜欢用它作 字符串 变量名.它是string(英文词字符串的缩写). len:通常,程序员喜欢用它作 变量名.它是 length(英文词长度的缩写). 例如: char str[20]="I am a student"; int ...
万山特区17367867422: c语言 编写函数strlen,用来测试指定字符串的长度! - ?
系春红源: #pragma hdrstop//--------------------------------------------------------------------------- #include<stdio.h> #pragma argsused int main(int argc, char* argv[]) {int strllen(char *str);int len;char pztr[100];scanf("%s",pztr);len = strllen(pztr);printf("strlen = %d\...
万山特区17367867422: strlen 是什么意思 - ?
系春红源: C语言中strlen是求字符串长度的函数,其完整声名为:int strlen(const char* str);其中str为待求长度的字符串,要使用这个函数必须在程序开始处加上#include ,你清楚了吗?
万山特区17367867422: C语言用函数strlen计算 - ?
系春红源: C语言规定,对于没有明确初始化的部分,默认初始化为0, 这个和字符串结束符\0的值是相同的. 于是str中存的就是 string加上6个\0 而strlen是到\0结束计算的,这样,字符串长度就是6 选A
万山特区17367867422: (C语言)指针习题:编写测字符串长度函数strlen()? - ?
系春红源: 函数如下:int mystrlen(char *p){ int len=0; char *q=p; while(*q)len++; return len; } 有什么问题请留言.
万山特区17367867422: strlen(C语言函数) - ?
系春红源: 字符串没有结束标志,可以这样写:char c[3] = {'l', 'a', '\0'}; C语言中的字符串是以 \0 结尾的,它也占据字符串的一个字节空间.strlen 函数就是由首地址往后找,直至遇到 \0, 从而求出串长.
万山特区17367867422: C语言数组问题strlen怎么用 - ?
系春红源: 这个是库函数,就是求这个字符串的长度,以'\0'作为结束符,不计算结束符. 你当前的strlen(st) 输出是 5
万山特区17367867422: c语言问题 编程实现strlen函数. - ?
系春红源: #include <stdio.h>#include <stdlib.h> int strlen(const char string[]) { int i=0; while(string[i]) i++; return i; } int main() { char str[]="test"; scanf("%s",str); int i=strlen(str); printf("%d",i); getchar(); }以上为示例代码,如使用时遇重名错误应修改函数名