这是代码:
#include <stdio.h>
char *strDup(char *,int);
int main (void)
{
char p[1000];
int n=0;
char *q;
printf("plz enter a string : ");
gets(p);
printf("plz enter the number of the characters you want to duplicate : ");
scanf("%d",&n);
printf("the duplicated string is : ");
q=strDup(p,n);
printf("%s\n",q);
return 0;
}
char *strDup(char *p,int n)
{
int ctr=0;
int help;
char q[1000];
for(int i=0;p[i]!='\0';i++)
{
ctr++;
}
if (n<0)
{
printf("!!ERROR!!");
}
else if(n==0||n>ctr)
{
for(int i=0;p[i]!='\0';i++)
{
help=p[i];
p[i]=q[i];
q[i]=help;
}
}
else
{
for(int i=0;p[i]<=n;i++)
{
help=p[i];
p[i]=q[i];
q[i]=help;
}
}
return q;
}
即使在编辑之后,它也不起作用,我试图让代码对我来说尽可能简单,所以请不要让我很难。