题目描述
有一个字符串,包含n个字符。写一个函数,将此字符串中从第m个字符开始的全部字符复制成另一个字符串,并在主函数输出
函数原型:void copystr(char* s1, char* s2, int m);
输入格式
第一行 输入字符串
第二行 输入m
输出格式
当截取长度大于字符串长度时,输出input error!
否则调用copystr函数
输入样例
I love China!
7
输出样例
result: China!
解法
代码示例
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
/*
有一个字符串,包含n个字符。
写一个函数,将此字符串中从第m个字符开始的全部字符
复制成另一个字符串
*/
int main(void)
{
void copystr(char*, char*, int);
int m;
char str1[60],str2[60];
printf("enter string:\n");
gets(str1);
printf("please character that begin to copy? \n");
scanf("%d", &m);
if (strlen(str1) < m)
printf("input error!\n");
else
{
copystr(str1, str2, m);
printf("result:%s\n", str2);
}
return 0;
}
void copystr(char* s1, char* s2, int m)
{
char* p = s1 + m - 1;
while (*s2++ = *p++);
*s2 = '\0';
}