输入一个字符串,将该字符串中从第m个字符开始的全部字符复制成另一个字符串,m由用户输入
提问:输入一个字符串,将该字符串中从第m个字符开始的全部字符复制成另一个字符串,m由用户输入
要求编写一个函数mcopy(char s[],char t[],int m)来完成。#include
网友回答:
程序有多个错,改过的参考
#include
#include
#include
int main() //你的main拼错了
{
void mcopy(char s[],char t[],int m);
int m;
char s[20],t[20]; //C99标准以前的C编译器,不支持变量在语句后定义的
scanf("%d",&m);
fflush(stdin); //要清输入缓冲的,否则下面什么也得不不到
gets(s);
mcopy(s,t,m);
puts(t);
return 0;
}
void mcopy(char s[],char t[],int m)
{
//没考虑开头大于长度,这个若有要求自己改下
int i;
for(i=m-1; s[i]!='0'; i++) //算法是错的,且字串结尾不是'0'
t[i-m+1]=s[i];
t[i-m+1]='0'; //后面要加0的
}
测试: