strcat strcpy strcmp strlen 的j简单实现

2021年09月15日 阅读数:1
这篇文章主要向大家介绍strcat strcpy strcmp strlen 的j简单实现,主要内容包括基础应用、实用技巧、原理机制等方面,希望对大家有所帮助。

#include <stdio.h>c++

#include <string.h>less

#include <assert.h>ide

#include <math.h>spa


void Reseval(int arr[],int len)string

{it

int i=0;io

inttemp;class

for(i=0;i<len/2;i++)tab

{di

temp=arr[i];

arr[i]=arr[len-i-1];

arr[len-i-1]=temp;

}

}

int main()

{

int arr[10];

int i;

const len=10;

for(i=0;i<10;i++)

{

arr[i]=i;

}

Reseval(arr,len);

for(i=0;i<10;i++)

{

printf("%d",arr[i]);

}

return 0;

}




char *mystrcpy(char *dest,char *src)

{

while((*dest++=*src++)!='\0');

return dest;

}




int mystrlen(const char *str)

{

int len=0;

while((*str++)!='\0')

{

len++;

}

return len;

}



char *my_strcat(char *dest,const char *src)

{

while(*dest !='\0')

{

dest++;

}

while((*dest++=*src++)!='\0');

return dest;

}


int mystrcmp(const char *str1,const char *str2)

{

int i=0;

assert(str1!=NULL && str2 !=NULL);

while(str1[i]!='\0' && str2[i]!='\0')

{

if (str1[i]<str2[i])

{

return -1;

}

else if(str1[i]>str2[i])

{

return 1;

}

i++;

}

if (i <strlen(str1))

{

return 1;

}

else if (i < strlen(str2))

{

return -1;

}

else

{

return 0;

}

}


int main()

{

int r;

int len;

char str1[20]="yes";

char str2[]="myload";

char str[]="yes my load";

len= mystrlen(str);

//mystrcpy(str1,str2);

r= mystrcmp(str1,str2);

my_strcat(str1,str2);

if(r=0)

{

printf("str1 and str2 identical \n");

}

if(r<0)

{

printf("str1 less than str2 \n");

}

else

{

printf("st1 more than str2 \n");

}

printf("len=%d\n",len);

printf("%s\n",str1);

//printf("%s",str1);

return 0;

}