自己编写程序实现strlen strcpy strcat strcmp的功能
1.编写程序实现strlen的功能
strlen功能:计算字符串的长度,'\0'之前的字符串数量。
程序代码:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{
char num[30]="hello world!";
int i=0;
int len=0;
printf("使用函数计算的结果为:\n");
printf("字符串的长度为%ld\n",strlen(num));
putchar(10);
while(1)
{
if(num[i]!='\0')
{
len++;
i++;
}
else
{
break;
}
}
printf("程序实现的结果为:\n");
printf("字符串的长度为%d\n",len);
return 0;
}
运行结果展示:
2.编写程序实现strcpy的功能
strcpy功能:将一个字符串复制到另一个数组空间中
程序代码:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{
int i;
char num[30]="hello world!";
char num1[30]={0};
printf("原数组输出为:\n");
printf("num:%s\n",num);
printf("num1:%s\n",num1);
putchar(10);
printf("利用函数进行复制后的输出结果为:\n");
strcpy(num1,num);
printf("num:%s\n",num);
printf("num1:%s\n",num1);
bzero(num1,sizeof(num1));
putchar(10);
printf("清空复制后的输出结果为:\n");
printf("num:%s\n",num);
printf("num1:%s\n",num1);
putchar(10);
for(i=0;i<strlen(num);i++)
{
num1[i]=num[i];
}
printf("复制后的输出结果为:\n");
printf("num:%s\n",num);
printf("num1:%s\n",num1);
return 0;
}
运行结果展示:
3.编写程序实现strcat的功能
strcat功能:实现两个字符串的拼接
程序代码:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{
int i,j;
char num[30]="hello";
char num1[30]=" world!";
int len1=strlen(num);
int len2=strlen(num1);
printf("%d %d\n",len1,len2);
printf("原字符串数组内容如下:\n");
printf("num:%s\n",num);
printf("num1:%s\n",num1);
putchar(10);
printf("进行拼接后:\n");
for(i=0;i<len2;i++)
{
num[len1+i]=num1[i];
}
printf("num:%s\n",num);
printf("num1:%s\n",num1);
return 0;
}
运行结果展示:
4.编写程序实现strcmp的功能
strcmp功能:实现两个字符串的比较,对两个字符串相同位置上的字符进行比较
程序代码:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{
char num[]="hello";
char num1[]="hello world";
int i,k;
int len1=strlen(num);
int len2=strlen(num1);
printf("比较的两个字符串数组:\n");
printf("%s\n",num);
printf("%s\n",num1);
putchar(10);
i=0;
while(num[i]!='\0'&&num1[i]!='\0'&&num[i]==num1[i])
{
i++;
}
k=num[i]-num1[i];
printf("返回值为:%d\n",k);
return 0;
}
运行结果展示: