目录:
我们首先来考虑一个简单的问题,我们定义了一个字符串,然后想要复制这个字符串,在C语言中,我们可以用for循环
和指针
来实现,假如我们用指针来操作
#include <stdio.h>
char str1[20]= "Zxiaoxuan";
char str2[20];
char * pts1 = str1 ;
char * pts2 = str2;
int main () {
pts2=pts1;
return 0;
}
这样pts2只是复制字符串str1的地址,而不是复制整个字符串。
那么如何进行整个字符串的复制呢
-
我们可以采用数组的方式来进行
#include<stdio.h>
void copy_string(char str1[],char str2[]) {
int i = 0;
while(str2[i] != ‘’) {
str1[i] = str2[i];
i++;
}
str1[i] = ‘’;
}int main() {
char a[100]=“zxiaoxuan”;
char b[100]=" ";copy_string(b,a); printf("%s
",b);
return 0;
}
输出:
2. 可以采用指针的方式来进行
#include<stdio.h>
void copy_string(char *p1,char *p2) {
while(*p2 != '') {
*p1 = *p2;
*p1++;
*p2++;
}
*p1 = '';
}
int main() {
char a[100]="zxiaoxuan";
char b[100]=" ";
copy_string(b,a);
printf("%s
",b);
return 0;
}
</