c语言常用函数实现

来源:互联网 发布:python 随机产生单词 编辑:程序博客网 时间:2024/06/01 16:25

/*#include<stdio.h>

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

{

char *ret = dest;

while (*src)

{

*dest = *src;

*dest++;

*src++;

}

*dest = *src;

return ret;

 

 

 

}

void main()

{

char a[] = "abcd";

char *b = "efg";

printf("%s\n", my_strcpy(a, b));

 

 

 

}

*/

/*

#include<stdio.h>

char *my_strcat(char *str1, char *str)

{

   char *ret = str1;

 

   while (*str1)

   {

   *str1++;

   }   while (*str)

   {

   *str1 = *str;

   *str1++;

   *str++;

 

   }

   return ret;

}

void main()

{

char a[1000] = "abcd";

char *b = "efg";

printf("%s\n", my_strcat(a, b));

 

}

*/

#include<stdio.h>

#include<string.h>

char * reverse_str(char *str)

{

char *ret = str;

char *a = str;

char *b = str + strlen(str) - 1;

while (a< b)

{

char tmp = *a;

*a = *b;

*b = tmp;

*a++;

*b--;

}

return ret;

 

}

void main()

{

char str []= "abcd";

printf("%s\n", reverse_str(str));

 

}

////#include<stdio.h>

////#include<assert.h>

////void *my_memcpy(void *dest,  void  const *src, int len)

////{

////void *ret = dest;

////char *pdest = (char *)dest;

////char *psrc = (char *)src;

////assert(dest&&src);

////while (len)

////{

////*pdest = *psrc;

////*pdest++;

////*psrc++;

////len--;

////

////

////}

////return ret;

////}

////

////void main()

////{

////int arr[] = { 1, 2, 3, 4 };

////int b[10];

////int i = 0;

////

////my_memcpy(b, arr+2, 8);

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

////{

////printf("%d", b[i]);

////}

////printf("\n");

////

////

////

////

////

////}

//#include<stdio.h>

//#include<assert.h>

//void * my_memmove(void *dest, void *src, int len)

//{

//void *ret = dest;

//assert(dest&&src);

//if (dest<src || (char *)dest>((char *)src + len))

//{

//while (len--)

//{

//*(char*)dest = *(char*)src;

//dest = (char*)dest + 1;

//src = (char*)src + 1;

//}

//

//}

//else

//{

//src = (char*)src + len - 1;

//dest = (char*)dest + len - 1;

//while (len--)

//{

//*(char*)dest = *(char*)src;

//dest = (char*)dest - 1;

//src = (char*)src - 1;

//}

//}

//return ret;

//

//

//}

//void main()

//{

//int i = 0;

//int arr[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 };

//my_memmove(arr+1, arr , 4);

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

//{

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

//}

//  printf("\n");

//

//}

#include<stdio.h>

#include<string.h>

#include<assert.h>

void reverse_str(char *le, char *ri)

{

 

while (le < ri)

{

char tmp = *le;

*le = *ri;

*ri = tmp;

le++;

ri--;

}

}

void reverse(char *src)

{

int len = strlen(src);

assert(src);

reverse_str(src, src + len - 1);

while (*src)

{

char *cut = src;

while (*src != ' '&& *src != '\0')

{

src++;

}

reverse_str(cut, src - 1);

if (*src != '\0')

{

src++;

}

}

 

 

}

void main()

{

char str[] = "student a am i";

reverse(str);

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

 

 

 

}

0 0
原创粉丝点击