m0_58337376 2021-12-07 17:41 采纳率: 57.1%
浏览 11
已结题

今天在学习memcpy的时候想要实现memcpy时出现问题(我使用的vs2019)

问题遇到的现象和发生背景

++需要左值

问题相关代码,请勿粘贴截图
void* my_memcpy(void* dest,const void* src,size_t num)
{
    void* ret = dest;
    assert(dest!=NULL);
    assert(num!=NULL);
    while (num--)
    {
        *(char*)dest = *(char*)src;
        ++(char*)dest;
        ++(char*)src;
    }
    return ret;
}
struct  s
{
     char name[20];
     int age;
};
int main()
{
    struct s a3[20]= { {"张三", 20},{"李四",21} };
    struct s a4[10]= {"0"};
    my_memcpy(a1, a2, sizeof(a3));
    printf("%s", a4->name);
    return 0;
}


运行结果及报错内容
我的解答思路和尝试过的方法

我创建了两个新的字符数组把void指针的值放在里面用来++,但输出的结果是 ?

我想要达到的结果
  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 12月15日
    • 创建了问题 12月7日

    悬赏问题

    • ¥15 解决websocket跟c#客户端通信
    • ¥30 Python调用dll文件输出Nan重置dll状态
    • ¥15 浮动div的高度控制问题。
    • ¥66 换电脑后应用程序报错
    • ¥50 array数据同步问题
    • ¥15 pic16F877a单片机的外部触发中断程序仿真失效
    • ¥15 Matlab插值拟合差分微分规划图论
    • ¥15 keil5 target not created
    • ¥15 C/C++数据与算法请教
    • ¥15 怎么找志同道合的伙伴