Problem H: 部分复制字符串
Description
输入一个字符串,将该字符串从第m个字符开始的全部字符复制成另一个字符串。m有用户输入,值小于字符串的长度。要求编写一个函数mcopy(char *src, char *dst, int m)来完成。
Input
多组测试数据,每组输入一个数字m和字符串(字符串长度小于80)
Output
输出新生成的字符串
Sample Input
3 abcdefgh
6 This is a picture.
Sample Output
cdefgh
is a picture.
#include <stdio.h>
#include <string.h>
int main()
{
void copystr(char *,char *,int);
int n;
char str1[81],str2[81];
while(scanf("%d",&n)!=EOF)
{
gets(str1);
if(strlen(str1)>=n)
{
copystr(str1,str2,n);
printf("%s\n",str2);
}
}
return 0;
}
void copystr(char *p1,char *p2,int n)
{
p1=p1+n;
while(*p1!='\0')
{
*p2=*p1;
p1++;
p2++;
}
*p2='\0';
}
总结
1、对于多余的操作一般使用辅助数组实现。
2、对于字符数组的结尾加’/0’