自己编写函数实现strcmp和strlen的功能。

来源:互联网 发布:求网络兼职 编辑:程序博客网 时间:2024/05/16 19:15
#include<stdio.h>
int strcmp();
int strlen();
int main(){
char x[20];
char y[20];
int m,n;
printf("请你输入一个字符串:");
scanf("%s",x);
m=strlen(x);
printf("您输入的这个字符串的长度为:%d\n",m);
printf("请你再输入一个字符串:");
scanf("%s",y);
n=strcmp(x,y);
printf("%d\n",n); //大于就返回正值,小于就返回负值。相等返回0. 

}
int strlen(char a[20]){
int x=0;
while(a[x]!='\0'){
x++;
}
return x;
}
int strcmp(char a[20],char b[20]){
int x; 
for(x=0;x<=strlen( a );x++){  //循环次数只需要为2个数组之一的数组长度即可。
                                                                 //取等于后表示包含最后一位'\0'的比较。
                                                                 //数组的大小并不是其长度的比较,而是数组元素换算成ASCII码值做比较。如"aa"大于"acefy",只因为第二个元素a的值>c的值。
if(a[x]!=b[x]){
return a[x]-b[x];
}
}
return 0;
}