逆序memcpy
题目:实现逆序的Memcpy方法。
函数原型: void * reversememcpy ( void * destination, const void * source, int num );
功能要求: 从source所指的内存地址的起始位置开始拷贝num个字节,按字节逆序保存到目标destination所指的内存地址的起始位置中。
返回值:为destination
注意:
- 本函数实现的是按字节逆序拷贝。例如source指向位置,如果依次保存了’a’,‘b’,‘c’,‘d’,当num=4时,则逆序拷贝后destination指向的位置应该依次’d’,‘c’,‘b’,‘a’.
- 将源文件命名为functions.cpp。
- 遇到异常情况,输出"error";否则不要随意输出,会视为错误。
代码:
#include <stdio.h>
#include <string.h>
void *reversememcpy(void *destination,const void *source,int num)
{
char des = (char)destination;//重新定义一个des来表示参数
char src = (char)source;//同上
int i;
if (!(des == NULL || src == NULL || num < 0))
{
if (des >= src && des <= src + num