在這裏我向大家分享如何創建簡單的函數實現strcpy,strcat,strcmp的功能,
本人才疏學淺,若有錯誤,望您不吝賜教。
1.自定義函數實現strcpy功能
#include<stdio.h>
#define N 100
void my_strcpy(char *p, char *q)
{
while (*p++ = *q++);
}
int main(int argc, char *argv[])
{
char s1[N];
char s2[N];
gets(s1);
gets(s2);
my_strcpy(s1,s2);
printf("%s\n",s1);
return 0;
}
2.自定義函數實現strcat功能
#include<stdio.h>
#define N 100
void my_strcpy(char *p, char *q)
{
while (*p++);
*p--;
while (*p++ = *q++);
}
int main(int argc, char *argv[])
{
char s1[N];
char s2[N];
gets(s1);
gets(s2);
my_strcpy(s1,s2);
printf("%s\n",s1);
return 0;
}
3.自定義函數實現strcmp功能
#include<stdio.h>
#define N 100
int my_strcmp(char *p, char *q)
{
int i;
for (i=0; ;i++)
{
if (p[i] > q[i])
return 1;
if (p[i] < q[i])
return -1;
if (p[i] == '\0')
return 0;
}
}
int main(int argc, char *argv[])
{
char s1[N];
char s2[N];
gets(s1);
gets(s2);
printf("%d\n",my_strcmp(s1,s2));
return 0;
}