试题名称 字符串部分复制
时间限制: 1 秒
内存限制: 256KB
问题描述
给定一个的字符串,从第m个字符开始复制成为另一个字符串。编写函数copystr( )完成字符串复制,使用字符类型的指针变量作为形参,主函数完成字符串输入和m值的输入,函数调用,以及最后结果的输出。
输入说明
第一行从键盘输入一个字符串,该字符串中字符可以是字母、数字、空格和其它字符。字符串总长不超过50个字符。
第二行输入整数m的值。
输出说明
若该字符串长度小于m,则输出error,否则输出从该字符串第m个字符复制的字符串。
输入样例
输入样例1
Abc ba/!.123
3
输入样例2
abced
6
输出样例
输出样例1
c ba/!.123
输出样例2
error
代码:
#include<stdio.h>
#include<string.h>
char *copystr(int m,char *str);
char str1[20];
int main()
{
char str[50];
char * new_str;
gets(str);
int i,m,n;
scanf("%d",&m);
n = strlen(str);
if(n<m) printf("error");
else
{
new_str = copystr(m,str);
for(i=0;*(new_str+i)!='\0';i++)
{
printf("%c",*(new_str+i));
}
}
}
char *copystr(int m,char *str)
{
int i,j;
for(i=m-1,j=0;*(str+i)!='\0';i++,j++)
{
str1[j] = *(str+i);
}
str1[j+1] = '\0';
return str1;
}