复制字符串并输出
//#include<stdio.h>
//int main() {
// char a[] = “i am a student.”,b[20];
// int i=0;
// for (i = 0; *(a + i) != ‘\0’; i++)
// *(b + i) = *(a + i);
// *(b + i) = ‘\0’;//字符串结束标志,没有’\0’会出现乱码
// printf(“%s\n”, a);
// printf(“%s\n”, b);
// return 0;
//}
//用指针变量来处理复制
#include<stdio.h>
int main(){
char a[] = “i am a boy.”;
char b[20],*p1,*p2;
p1 = a; p2 = b;
for (p1=a; p1 != “\0”; p1++, p2++)
*p2 = *p1;
*p2 = ‘\0’;
printf(“%s\n”, a);
printf(“%s\n”, b);
return 0;
}
函数调用实现字符串的复制
//用字符数组名作函数参数
#include<stdio.h>
void copy_string(char from[], char to[])
{
int i = 0;
while (from[i] != ‘\0’) {
to[i] = from[i]; i++;
}to[i] = ‘\0’;
}
int main() {
void copy_string(char from[], char to[]);
char a[] = “i am a student.”;
char b[] = “you are a good man!”;
printf(“a=%s\nb=%s\n”,a, b);
printf(“\n复制\n”);
copy_string(a, b);
printf(“a=%s\nb=%s\n”, a, b);
return 0;
}
//用字符指针型变量作实参
#include<stdio.h>
void copy_string(char from[], char to[])
{
int i = 0;
while (from[i] != ‘\0’) {
to[i] = from[i]; i++;
}to[i] = ‘\0’;
}
int main() {
void copy_string(char fro