数据结构与算法之串的基本运算
数据结构与算法之串的基本运算前提条件简介的基本运算求串长串拷贝串比较完整代码输出结果前提条件熟悉C语言与指针熟悉数据结构与算法简介数据结构中提到的串,即字符串,由 n 个字符组成的一个整体( n >= 0 )。这 n 个字符可以由字母、数字或者其他字符组成。的基本运算求串长int strlen(char *s)/*求串长*//*计算给定串除特殊字符'\0'之外的字符数目*/{int n =
·
前提条件
- 熟悉C语言与指针
- 熟悉数据结构与算法
简介
- 数据结构中提到的串,即字符串,由 n 个字符组成的一个整体( n >= 0 )。这 n 个字符可以由字母、数字或者其他字符组成。
的基本运算
求串长
int strlen(char *s)
/*求串长*/
/*计算给定串除特殊字符'\0'之外的字符数目*/
{
int n = 0;
while (s[n]!='\0')
{
n++;
}
return n;
}
串拷贝
char *strcpy(char *dest,char *src)
/*串拷贝*/
{/*将串src中的字符逐个复制到目的串dest*/
int i;
while (src[i]!='\0')
{
dest[i]=src[i];
i++;
}
dest[i]='\0';
return dest;
}/*此函数写的虽然简单但是缺陷明显,没有考虑dest会不会越界*/
串比较
int strcmp(char *s1,char *s2)
/*串比较,*/
{
int i=0;
while (s1[i]!='\0'||s2[i]!='\0')
{
if(s1[i]==s2[i])
i++;
else
{
return s1[i]-s2[i];
}
}
return 0;
}
完整代码
#include<stdio.h>
#include<stdlib.h>
int strlen(char *s)
/*求串长*/
/*计算给定串除特殊字符'\0'之外的字符数目*/
{
int n = 0;
while (s[n]!='\0')
{
n++;
}
return n;
}
char *strcpy(char *dest,char *src)
/*串拷贝*/
{/*将串src中的字符逐个复制到目的串dest*/
int i;
while (src[i]!='\0')
{
dest[i]=src[i];
i++;
}
dest[i]='\0';
return dest;
}/*此函数写的虽然简单但是缺陷明显,没有考虑dest会不会越界*/
int strcmp(char *s1,char *s2)
/*串比较*/
{
int i=0;
while (s1[i]!='\0'||s2[i]!='\0')
{
if(s1[i]==s2[i])
i++;
else
{
return s1[i]-s2[i];
}
}
return 0;
}
int main(){
char s[]="Hello";//以特殊字符'\0'作为串的结束标记
int length=strlen(s);//求串长,strlen=5
printf("strlen:%d\n",length);
char s1[] = "Frei";
char s2[] = "Frie";
printf("%d\n",strcmp(s1,s2));//串比较
char dest[6],src[6] = "Hi!";
char *result = strcpy(dest,src);
for (int i = 0; i < strlen(result); i++)
{
printf("%c",result[i]);
}
printf("\n");
system("pause");
return 0;
}
输出结果

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)