c语言求字符串长度,的函数理解?

258 2024-02-27 15:24

一、c语言求字符串长度,的函数理解?

计算长度有两个函数:strlen sizeof

strlen 计算字符串里面一共有多少个字符

sizeof 计算字符串占的总内存空间

如:

char str[20]={"123456"};

strlen(str);等于 6

sizeof(str); 等于20

-物联网校企联盟技术部

二、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语言求队列长度函数?

队列长度计算公式:

( r e a r − f r o n t + m a x S i z e ) % m a x S i z e ( rear - front + maxSize)\% maxSize(rear−front+maxSize)%maxSize

+maxSize:目的是防止rear - front < 0

%maxSize:目的是防止当rear - front > 0时,又+ maxSize导致队列长度>maxSize

四、计算字符串长度的函数?

在这里我提供四种方法计算字符串的长度:

1.使用递归函数。

2.数数,从第一个字符开始数数,没遇到一个字符,长度加一,直到遇到"\0",停止数数。

3.使用strlen函数,使用此函数时,需包含头文件# include <string.h>

4.使用sizeof,对于字符串,一定要减去1,因为字符数组的末尾有一个"\0",size=sizeof(str)/sizeof(str[0])

五、C编写程序,求所输入字符串的长度?(要求不能用strlen( )函数直接求)?

#include "stdio.h"

void main()

{

char a[80];

int i=0;

gets(a);

while(a[i]!='\0')i++;

printf("%d",i);

}

六、oracle判断字符串长度的函数?

oracle判断字符串长度函数如下

oracle获取字符串长度函数length()和hengthb() lengthb(string)计算string所占的字节长度:返回字符串的长度,单位是字节 length(string)计算string所占的字符长度:返回字符串的长度,单位是字符 对于单字节字符,LENGTHB和LENGTH是一样的. 如可以用length(‘string’)=lengthb(‘string’)判断字符串是否含有中文。 一个汉字在Oracle数据库里占多少字节跟数据库的字符集有关,UTF8时,长度为三。 selectlengthb('汉字')fromdual可查询汉字在Oracle数据库里占多少字节

七、c++中string类求字符串长度?

用string的成员方法length()或者size()都可以取得字符串长度#include <string>#include <iostream>using namespace std;int main(){string str = "Test string";cout << str.length() << endl;cout << str.size() << endl;return 0;

}二者没有本质的区别,大部分情况都可以互换使用。但是表示的意义略有不同。

length()比较直观,表示的就是该字符串的长度。size()表示的是string这个容器中的元素个数。如果使用过std::vector之类的容器的话,可以把string看做是一个vector<char>(这里只是举例,并不能等价),char就是这个容器的元素类型。那么size()表示的就是这个vector(容器)中char的个数。另外,strlen同样也可以用于C++的string。但是需要用c_str()将C++string转换为char*类型。如下:

cout << strlen(str.c_str()) << endl;但是不推荐这么做,有点画蛇添足的感觉

八、C语言用函数求字符串中最长单词?

#include<stdio.h>

#include<string.h>

int main()

{

char str[100];

gets(str);

void findLongest(char str[]);

findLongest(str);

return 0;

}

void findLongest(char str[])

{

int currLen=0,maxLen=0,currStart=0,MaxStart=0;

int i=0,j=0;

for(i=0;str[i];i++)

{

if((str[i]>='a'&&str[i]<='z')||(str[i]>='A'&&str[i]<='Z'))

{

if(currLen==0)//当前长度等于0时,说明一个单词刚刚查找完,此时的位置为

currStart=i;//新单词的开始位置

currLen++;

}

if(currLen>maxLen)//当前单词的长度大于最大值,进行赋值

{

maxLen = currLen;

MaxStart = currStart;

}

if(str[i]==' ')//遇到空格,即一个单词已经结束。

{

currLen = 0;

}

}

for(j=MaxStart;j<MaxStart+maxLen;j++)

printf("%c",str[j]);

}

九、急c++ 截取字符串(函数) 求代码?

intsubstr(charstr1[],charstr2[],intindex){inti=0,len1=0,len2=0;len1=sizeof(str1);len2=sizeof(str2)

;if(len1-index>len2||index>len1||index<0||len1==0||len2==0)return0;for(i=index-1;i<len1;i++)str2[i-index+1]=str1[i];return1;

}voidmain(){chara[35]="a0dbdcgadcbeaf",b[35]

;intflag=0;flag=substr(a,b,5)

;if(flag==1)printf("%s\n",b)

;elseprintf("IndexError\n");}

十、c中“abc”字符串的长度?

长度为:7\\等于\,前一个\为转义符\"等于",前一个\为转义符ABC不变\"等于",前一个\为转义符\\等于\,前一个\为转义符所以:\\\"ABC\"\\长度=1+1+3+1+1=7

顶一下
(0)
0%
踩一下
(0)
0%
相关评论
我要评论
点击我更换图片