eyys666 发表于 2020-4-14 18:18:45

void指针问题

#include <stdio.h>
#include <string.h>
int main(void)
{
   char src[] = "******************************";
   char dest[] = "abcdefghijlkmnopqrstuvwxyz0123456709";
   char *ptr;
   printf("destination before memcpy: %s\n", dest);
   ptr = memcpy(dest, src, strlen(src));
   if (ptr)
      printf("destination after memcpy:%s\n", dest);
   else
      printf("memcpy failed\n");
   return 0;
}

这段代码报错的原因是什么啊,

zltzlt 发表于 2020-4-14 18:23:07

我这里正常

4goodworld 发表于 2020-4-14 22:30:01

#include <stdio.h>
#include <stdio.h>
#include <string.h>
int main(void)
{
        char src[] = "******************************";
        char dest[] = "abcdefghijlkmnopqrstuvwxyz0123456709";
        char *ptr;
        printf("destination before memcpy: %s\n", dest);
        ptr =(char*) memcpy(dest, src, strlen(src));
        if (ptr)
                printf("destination after memcpy:%s\n", dest);
        else
                printf("memcpy failed\n");
        return 0;
}
这个意思吗?

ly落叶 发表于 2020-4-14 22:52:27

memcpy的返回值类型是void *,赋值时类型要匹配,否则编译报错
页: [1]
查看完整版本: void指针问题