本文目录一览:
- 1、c语言字符长度函数
- 2、c语言自定义函数实现字符串的拼接、拷贝、比较大小、求字符串长度等四个功能
- 3、c语言怎么比较字符的大小
- 4、c语言字符串处理函数有哪些
- 5、C语言中字符串的长度如何比较?例如:输入5个字符,输入其中最长的字
- 6、用C语言编一个函数能比较字符串,并返回其中的长字符串
c语言字符长度函数
正确的答案是5,题目选项有误。
首先strlen()函数返回的长度是不包含'\0',
第一个字符为:a
第二个字符为:b
第三个字符为:\n (换行符)
第四个字符为:2
第五个字符为:\ (\\转义为\)
所以答案为5。
(下图为实际代码演示)
扩展内容:
strlen()函数(C语言函数):
strlen所作的仅仅是一个计数器的工作,它从内存的某个位置(可以是字符串开头,中间某个位置,甚至是某个不确定的内存区域)开始扫描,直到碰到第一个字符串结束符'\0'为止,然后返回计数器值(长度不包含'\0')。
参考资料:strlen函数 - 百科
c语言自定义函数实现字符串的拼接、拷贝、比较大小、求字符串长度等四个功能
#includestdio.h
void s_trcat(char *s1,char *s2);//连接两个字符串
void s_trcpy(char *s1,char *s2);//字符串s2复制给字符串s1
int s_trcmp(char *s1,char *s2);//两个字符串比较大小
int s_trlen(char *s);//计算一个字符串的长度
int main()
{
char s1[11]="12345", s2[11]="ABCDE";
char x1[11]="12345",x2[11]="SSSKK";
char str1[11]="ABCD",str2[11]="ACB";
char s[11]="ABCDEF";
int n,len;
s_trcat(s1,s2);//拼接s1,s2
printf("拼接s1,s2,输出s1\n");
puts(s1);
s_trcpy(x1,x2);//将x2的内容复制给x1
printf("将x2的内容复制给x1,输出x1\n");
puts(x1);
n=s_trcmp(str1,str2);//比较str1与str2大小,返回一个整数,代表比较的结果
if(n==0)
printf("str1与str2相同\n");
if(n==1)
printf("str1大于str2\n");
if(n==-1)
printf("str1小于str2\n");
len=s_trlen(s);//计算字符串s的长度,并返回一个整数(字符串长度),
printf("字符串s的长度:%d\n",len);
}
void s_trcat(char *s1,char *s2)//连接两个字符串
{
char *p=s1;
char *q=s2;
while(*p)
p++;
while(*q)
{
*p=*q;
p++;
q++;
}
*p='\0';//给新字符串尾部加个结束符
}
void s_trcpy(char *s1,char *s2)//字符串s2复制给字符串s1
{
char *p=s1;
char *q=s2;
while(*p++=*q++);
*p='\0';//给新字符串尾部加个结束符
}
int s_trcmp(char *s1,char *s2)//两个字符串比较大小
{
char *p=s1;
char *q=s2;
int len1=0,len2=0;
while(*p++)
len1++;
while(*q++)
len2++;
p=s1,q=s2;
while(*p!='\0'*q!='\0')
{
if(*p*q)
return 1;
if(*p*q)
return -1;
p++;
q++;
}
if(len1==len2)
return 0;//返回0,两个字符串相同
if(len1len2)
return 1;//返回1,前大于后
if(len1len2)
return -1;//返回-1,前小于后
}
int s_trlen(char *s)//计算一个字符串的长度
{
char *p=s;
int len=0;
while(*p++)
len++;
return len;//返回字符串长度
}
c语言怎么比较字符的大小
(这个调用了 string.h 头函数)
#include stdio.h
#include string.h
void comparision(char a[],char b[])
{if(strcmp(a,b)0) printf("a[40]b[40]")。
else if(strcmp(a,b)==0) printf("a[40]=b[40]");else printf("a[40]b[40]");}
扩展资料:
语言特点:
主要特点
C语言是一种结构化语言,它有着清晰的层次,可按照模块的方式对程序进行编写,十分有利于程序的调试,且c语言的处理和表现能力都非常的强大,依靠非常全面的运算符和多样的数据类型,可以轻易完成各种数据结构的构建。
通过指针类型更可对内存直接寻址以及对硬件进行直接操作,因此既能够用于开发系统程序,也可用于开发应用软件。通过对C语言进行研究分析,总结出其主要特点如下:
(1)简洁的语言
C语言包含的各种控制语句仅有9种,关键字也只有32 个,程序的编写要求不严格且以小写字母为主,对许多不必要的部分进行了精简。
语句构成与硬件有关联的较少,且C语言本身不提供与硬件相关的输入输出、文件管理等功能,如需此类功能,需要通过配合编译系统所支持的各类库进行编程,故c语言拥有非常简洁的编译系统。
(2)具有结构化的控制语句
C语言是一种结构化的语言,提供的控制语句具有结构化特征,如for语句、if⋯else语句和switch语句等。可以用于实现函数的逻辑控制,方便面向过程的程序设计。
参考资料来源:百度百科-c语言
c语言字符串处理函数有哪些
1、puts函数——输出字符串的函数
一般的形式为puts(字符串组)
作用:将一个字符串输出到终端。如,char一个string,并赋予初值。调用puts(string);进行字符串的输出。
2、gets函数——输入字符串的函数
一般的形式:gets(字符数组)
作用:从终端输入一个字符串到字符数组,并且得到一个函数值成为字符数组的起始地址。
gets(str);
键盘输入,,,,你懂得。
注意:puts和gets函数只能输出或者输入一个字符串。
3、strcat函数——字符串连接函数
一般的形式:strcat(字符数组1,字符数组2);
作用:把两个字符串数组中字符串连接起来,把字符串2连接到字符串1的后面。
说明:字符数组1必须足够大,以便容纳连接后的新字符串。
4、strcpy/strncpy函数——字符串复制函数
一般形式:strcpy(字符数组1,字符串2);
作用:将字符串2复制到字符数组1中去。
如:char str1[10],str2[]="DongTeng";
strcpy(str1,str2);
执行后的结果为:你懂得
注意:
1. 不能用赋值语句直接将一个字符串常量或者字符数组直接给一个字符数组。
2. 用strncpy可以赋值指定的位置的字符。strncpy(str1,str2,3);将str2中的第3个字符复制到str1中。
5、strcmp函数——字符串比较函数
一般形式:strcmp(字符串1,字符串2);
作用:用来比较两个字符串的差异。具有不同的比较规则。
6、strlen函数——测字符串长度的函数
一般形式:strlen(字符数组);
如:char str[10]="DongTeng";
printf("%d",strlen(str));
得到的结果是:5
7、strlwr函数——转换为小写的函数
一般形式:strlwr(字符串);
8、strupr函数——转换为大写的函数
一般形式:strupr(字符串)。
C语言中字符串的长度如何比较?例如:输入5个字符,输入其中最长的字
可以用strlen函数来求取字符串的长度,然后进行比较,得出最长的字符串,然后输出即可
示例代码如下:
#includestdio.h
#includestring.h
void main()
{
char s[5][20];
int a[5]; //用于储存字符串长度的数组
int i,max;
for(i=0;i5;i++)
{
gets(s[i]); //输入字符串
a[i]=strlen(s[i]); //求取字符串长度,并用数组保存
}
max=a[0];
for(i=0;i5;i++)
if(a[i]max)
max=a[i];
for(i=0;i5;i++)
{
if(a[i]==max)
{
puts(s[i]);
break;
}
}
}
用C语言编一个函数能比较字符串,并返回其中的长字符串
char *longer_string(char *s1, char *s2)
{
return strlen(s1)=strlen(s2)?s1:s2;
}