// 有一个字符数组a,在其中存放字符串“I am a boy.”,要求把该字符串复制到字符数组b中。
/*
#include<stdio.h>
int main()
{
char a[]="I am a boy.";
char b[20];
int i;
for(i=0;*(a+i)!='\0';i++)
{
*(b+i)=*(a+i); // 用地址法访问数组元素
}
*(b+i)='\0';
printf("string a is: %s\n",a);
printf("string b is:");
// for(i=0;b[i]!='\0';i++)
for(i=0;*(b+i)!='\0';i++)
{
// printf("%c",b[i]);
printf("%c",*(b+i));
}
printf("\n");
return 0;
}
*/
//用指针变量来实现
/*
#include<stdio.h>
int main()
{
char a[]="I am a boy.";
char b[20],*p1,*p2;
int i;
p1=a;
p2=b;
for(;*p1!='\0';*p1++,*p2++)
{
*p2=*p1;
}
*p2='\0';
printf("sting a is:%s\n",a);
printf("string b is:");
// for(i=0;b[i]!='\0';i++)
for(i=0;*(b+i)!='\0';i++)
{
// printf("%c",b[i]);
printf("%c",*(b+i));
}
printf("\n");
return 0;
}
*/
// 用函数调用来实现
#include<stdio.h>
int main()
{
void copy_string(char *from,char *to);
c语言定义一个字符串 char *a="I am a teacher."; // 定义a为字符指针变量,指向一个字符串
char b[]="You are a student."; // 定义b为字符数组,内放一个字符串
char *p=b; // 字符指针变量p指向字符数组b的首元素
printf("string a=%s\nstring b=%s\n",a,p);
printf("\ncopy string a to string b:\n");
copy_string(a,p); // 用字符串做形参
printf("string a=%s\nstring b=%s\n",a,b);
return 0;
}
/*
void copy_string(char *from,char *to) // 形参是字符指针变量
{
for(;*from!='\0';from++,to++); // 只要a串没结束就复制到b数组
{
*to=*from;
}
*to='\0';
}
*/
/*
void copy_string(char *from,char *to)
{
while((*to=*from)!='\0')
{
to++;
from++;
}
}
*/
/*
void copy_string(char *from,char *to)
{
while((*to++=*from++)!='\0');
}
*/
/*
void copy_string(char *from,char *to)
{
while(*from!='\0')
*to++=*from++;
*to='\0';
}*/
void copy_string(char *from,char *to)
{
char *p1,*p2;
p1=from;
p2=to;
while((*p2++=*p1++)!='\0');
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论