能找到的类似题解 都是PTA上的那道。我自己写了一个另外的。供参考。
#include<stdio.h>
int len =0;
void strmcpy(char*t,int m,char*s)
{
int j=0;
if(m>len)
{
printf(""); //输出空串的方法
}
else
{
while(t[m]!='\0')
{
s[j]=t[m];
j++;
m++;
}
s[j]='\0';//因为printf("%s",s)是从s开始,读到'\0'结束,所以要加上'\0'
printf("%s",s);
}
}
int main()
{
int m,i=0;
scanf("%d",&m);
char t[100],s[100];//因为数组名就是一个指针变量,所以直接设数组即可,不需要另设指针
while((t[i]=getchar())!=EOF)//getchar 方法读入字符串
{
i++;
}
t[i]='\0';
len=i;//同时获得长度,用于比较
strmcpy(t,m,s);
return 0;
}