问题描述
给定一个的字符串,从第m个字符开始复制成为另一个字符串。编写函数copystr( )完成字符串复制,使用字符类型的指针变量作为形参,主函数完成字符串输入和m值的输入,函数调用,以及最后结果的输出。
输入说明
第一行从键盘输入一个字符串,该字符串中字符可以是字母、数字、空格和其它字符。字符串总长不超过50个字符。
第二行输入整数m的值。
输出说明
若该字符串长度小于m,则输出error,否则输出从该字符串第m个字符复制的字符串。
输入样例1
Abc ba/!.123
3
输入样例2
abced
6
输出样例1
c ba/!.123
输出样例2
error
1.指针式
#include
#include
#include
#include
void copystr(char *str, int m, char *copy);
int main()
{
char a[51]={NULL}, b[51]={NULL};
gets(a);
int m, len=strlen(a);
scanf("%d",&m);
if(m>len) printf("error");
else copystr(a,m,b);
puts(b);
return 0;
}
void copystr(char *str, int m, char *copy)
{
int len = strlen(str);
char *p = str+m-1;
char *i = copy;
while(p
2.一般式
#include
#include
#include
#include
int main()
{
char a[50]={NULL}, b[50]={NULL};
int m;
gets(a);
int len = strlen(a);
scanf("%d", &m);
int i, j;
if(len>=m)
for(i=m-1,j=0;i