gpt4 book ai didi

C - 使用指针将一个字符数组的内容复制到另一个

转载 作者:太空狗 更新时间:2023-10-29 15:31:32 25 4
gpt4 key购买 nike

我正在尝试编写一个简单的 C 函数,使用指针算法将一个 char 数组的内容复制到另一个。我似乎无法正常工作,您能告诉我哪里出错了吗?

#include <stdio.h>
#include <stdlib.h>

void copystr(char *, const char *);

int main()
{

char hello[6] = "hello";
const char world[6] = "world";

copystr(&hello, &world);

return 0;
}

void copystr(char *str1, const char *str2)
{
*str1 = *str2; //copy value of *str2 into *str1
printf("%s %s", *str1, *str2); //print "world" twice
}

感谢帮助,谢谢。

编辑:这是工作代码:

#include <stdio.h>
#include <stdlib.h>

void copystr(char *, const char *);

int main()
{

char hello[6] = "hello";
const char world[6] = "world";

copystr(hello, world);
printf("%s %s", hello, world);

return 0;
}

void copystr(char *str1, const char *str2)
{
/*copy value of *str2 into *str1 character by character*/
while(*str2)
{
*str1 = *str2;
str1++;
str2++;
}
}

最佳答案

您只是复制字符串的第一个字符。

void copystring(char* str1, const char* str2)
{
while(*str2)
{
*str1 = *str2; //copy value of *str2 into *str1
str1++;
str2++;
}
}

然后在 main 中,在调用 copystring 之后

    printf("%s %s", hello, world); //print "world" twice

但是请不要这样做!使用 strncpy在现实生活中,如果使用纯 C 字符串。

关于C - 使用指针将一个字符数组的内容复制到另一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47103108/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com