考虑以下代码,它可以像往常一样复制字符串
#include<stdio.h>
void strcp(char *s1, char *s2);
int main() {
char s1[]="Hai, I am a good boy"; //1
char s2[]="Really I am a good boy"; //2
strcp(s1,s2);
printf("%s",s1);
return 0;
}
void strcp(char *s1, char *s2) {
while(*s1++=*s2++);
}
如果我想将 s1, s2
声明为 main()
内的 char 指针,我必须进行哪些更改?
char *s1="Hai, I am a good boy"; //1
char *s2="Really I am a good boy"; //2
我尝试复制指针值,如下所示
void strcp(char *s1, char *s2) {
s1=s2;
}
但是没有成功。
最佳答案
void strcp(char **s1, char **s2) {
*s1=*s2;
}
但它不复制任何内容。之后main中的s1和s2将指向相同的内存位置。
关于c - 使用字符指针复制字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44408844/