作业帮 > 综合 > 作业

#includevoid strcopy(char *str1,char *str2,int m){char *p1,*

来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/18 14:16:19
#include
void strcopy(char *str1,char *str2,int m)
{
char *p1,*p2;
p1=str1+m;
p2=str2;
while(*p1)
*p2++=*p1++;
*p2='\0';
}
main()
{
int m;
char str1[80],str2[80];
gets(str1);
scanf("%d",&m);
strcopy(str1,str2,m);
puts(str1);
puts(str2);
}
#includevoid strcopy(char *str1,char *str2,int m){char *p1,*
#include//加入标准io库,stdio.h
void strcopy(char *str1,char *str2,int m)//声明并定义一个无返回值函数strcopy,该函数有三个参数,分别为字符(串)指针型的str1和str2,整数型的m
{
//函数strcopy实现了,将str1的m位置起的(m=0对应第一个字符)所有字符复制到str2
char *p1,*p2;//声明两个临时字符指针变量
p1=str1+m;//将p1指向str1的m位置
p2=str2;//将p2指向str2的首地址
while(*p1)//当*p1==0时结束,也就是*p1=='\0'(字符串结束符'\0'的值为0)
*p2++=*p1++;//依次将p1的内容赋给p2,同时递增两字符指针,保证指向字符串下一位置
*p2='\0';//在p2结尾处加上字符串结束符'\0'
}
main()//开始main函数,是程序的入口
{
int m;//声明整数m
char str1[80],str2[80];//声明两个长度为80字符串变量str1,str2,
gets(str1);//从标准输入读入一行字符存入str1中,也就是从程序运行后的命令窗口中输入
scanf("%d",&m);//读入m,用于调用strcopy的参数,表示要从str1的m位置开始复制
strcopy(str1,str2,m);//调用函数strcopy,将字符串str1从m位置起的所有字符赋给str2
puts(str1);//输出字符串str1
puts(str2);//输出字符串str2
}