有一个字符串,包含n个字符,写一个函数,将此字符串中从第m个字符开始的全部字符复制为另一个字符串。并编写主函数,输入字符串和一个整数,调用copystr()完成部分复制,在主函数中输出复制结果。
函数原型为void copystr(char *,char *,int );
【输入形式】键盘输入分两行,第一行输入一个字符串,第二行输入一个整型数
【输出形式】输出复制结果
【样例输入】
qwertyuiop
3
【样例输出】
result:ertyuiop
【样例说明】
//第二组数据
qwert
6
第二组数据输出
input error!
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
int main()
{
void copystr(char*p1, char*p2, int n);
char a[100], * p1;
char b[100]={0}, * p2;
int n;
p1 = a;
p2 = b;
fgets(p1,100,stdin);//解决报错,fgets会保留\n
scanf("%d", &n);
if (n > strlen(p1)-1||n<=0)
{
printf("input error!\n");
}
else
{
copystr(p1, p2,n);
printf("result:%s\n",p1);
}
return 0;
}
void copystr(char *p1, char *p2, int n)
{
int i, j;
for (i = n-1, j = 0; i < strlen(p1); i++,j++)
{
*(p2 + j) = *(p1 + i);//赋值
}
*(p2 + j) = '\0' ;//别忘了结束符
strcpy(p1,p2);
}