编程实现mystrcat函数
#include<stdio.h>
#include<stdlib.h>
char *mystrcat(char *str, const char *ptr)
{
char *result;
result = str;
while(*str++);
str--;
while(*str++ = *ptr++);
return result;
}
int main(void)
{
char *a = NULL;
char *b = "hello ";
char *c = "world";
a = (char *)malloc(256);
*a = '\0';
mystrcat(mystrcat(a, b), c);
printf("a: %s\n",a);
free(a);
a = NULL;
return 0;
}
编程实现mystrcmp函数
方法一:
#include<stdio.h>
#include<string.h>
int mystrcmp(const char *str, const char *ptr)
{
int result = 0;
while( !(result = *(unsigned char *)str - *(unsigned char *)ptr) && *ptr)
{
++str;
++ptr;
}
if ( result < 0 )
result = -1;
else if ( result > 0 )
result = 1;
return (result);
}
int main()
{
char a[10] = "1234567";
char b[10] = "1234567";
char c[10] = "12345678";
char d[10] = "1234566";
int test1 = mystrcmp(a, b);
int test2 = mystrcmp(a, c);
int test3 = mystrcmp(a, d);
printf("test1 = %d\n",test1);
printf("test2 = %d\n",test2);
printf("test3 = %d\n",test3);
return 0;
}
方法二:#include <stdio.h>
/*************************************************************************
> File Name: mystrcat.c
> Author: 浮生流年
> Function List: main() 主函数
> Created Time: 2018年02月07日 星期三 09时46分33秒
**********************************************************************#include <stdio.h>
int mystrcmp(char a[], char b[])
{
int t, i = 0;
while (a[i] != '\0' || b[i] != '\0')
{
//若题目要求不区分大小写
if (a[i] >= 'A' && a[i] <= 'Z')//不区分大小写
a[i] += 32;
if (b[i] >= 'A' && b[i] <= 'Z')//不区分大小写
b[i] += 32;
if (a[i] == b[i])
t = 0;
else if(a[i] < b[i])
t = -1;
else
t = 1;
if (t != 0)
break;
i++;
}
return t;
}
int main()
{
char a[100], b[100];
int t;
scanf("%s", a);
scanf("%s", b);
t = mystrcmp(a, b);
printf("%d\n", t);
return 0;
}```
#include<stdio.h>
char *strcpy(char *str, const char *ptr)
{
if((str == NULL) || (ptr == NULL))
{
return NULL;
}
char *strcopy = str;
while ((*str++ = *ptr++) != '\0');
return strcopy;
}
int getstrlen(const char *ptr)
{
int len = 0;
while(*ptr++ != '\0')
{
len++;
}
return len;
}
int main()
{
char a[] = "hello world!";
char b[20];
int len = 0;
len = getstrlen(strcpy(b,a));
printf("b: %s\n",b);
printf("Length of b: %d",len);
return 0;
}
“`