前提条件
简介
- 数据结构中提到的串,即字符串,由 n 个字符组成的一个整体( n >= 0 )。这 n 个字符可以由字母、数字或者其他字符组成。
的基本运算
求串长
int strlen(char *s)
{
int n = 0;
while (s[n]!='\0')
{
n++;
}
return n;
}
串拷贝
char *strcpy(char *dest,char *src)
{
int i;
while (src[i]!='\0')
{
dest[i]=src[i];
i++;
}
dest[i]='\0';
return 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)
{
int n = 0;
while (s[n]!='\0')
{
n++;
}
return n;
}
char *strcpy(char *dest,char *src)
{
int i;
while (src[i]!='\0')
{
dest[i]=src[i];
i++;
}
dest[i]='\0';
return 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";
int length=strlen(s);
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;
}
输出结果
