Problem J: 部分复制字符串
Time Limit: 1 Sec Memory Limit: 64 MB
Submit: 11876 Solved: 6957
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.
HINT
Submit Status Web Board
#include <stdio.h>
#include <string.h>
void mcopy(char *src, char *dst, int m);
int main()
{
int n;
char src[85],dst[85];
while (scanf("%d",&n) != EOF)
{
getchar();
gets(src);
mcopy(src,dst,n);
puts(dst);
}
return 0;
}
void mcopy(char *src, char *dst, int m)
{
//下面这一大段累赘是我写的
/*int i;
for (i = m-1;*(src+i) != '\0';i++)
{
*(dst) = *(src+i);
dst++;
}*/
//*(dst) = *(src+i);
//这个是大佬写的,卧槽,可以啊,两句话解决,不过我有点没明白while怎么实现的
src+=(m-1);
while(*dst++ = *src++);
}
这个值得我学习,两句话就解决问题!