搞定
额 , 现在可以直接用b , 因为 数组 变量b 本身是不能修改的, 而且 函数结束后 b 的生命就结束了。
所以 我在 b的前面 加了static
for(i=r;*(ch+i)!='\0';i++) //找到 目标函数的结尾
for(j=0;j<=i-r+1;j++) // i-r 是 从m到最后字符串的长度
*(b+j)=*(ch+r-1+j); //拷贝
char * x= b;
return x;
复制以下的
#include
void main()
{
char a[20];int m=0;char*fuzhi(char*,int);
printf("输入字符:");
gets(a);
printf("输入起始位数:");
scanf("%d",&m);
printf("%s\n",fuzhi(a,m));
}
char *fuzhi(char*ch,int r)
{static char b[20];int i,j;
for(i=r;*(ch+i)!='\0';i++)
for(j=0;j<=i-r+1;j++)
*(b+j)=*(ch+r-1+j);
char * x= b;
return x;
}
搞定
额
,
现在可以直接用b
,
因为
数组
变量b
本身是不能修改的,
而且
函数结束后
b
的生命就结束了。
所以
我在
b的前面
加了static
for(i=r;*(ch+i)!='\0';i++)
//找到
目标函数的结尾
for(j=0;j<=i-r+1;j++)
//
i-r
是
从m到最后字符串的长度
*(b+j)=*(ch+r-1+j);
//拷贝
char
*
x=
b;
return
x;
复制以下的
#include
void
main()
{
char
a[20];int
m=0;char*fuzhi(char*,int);
printf("输入字符:");
gets(a);
printf("输入起始位数:");
scanf("%d",&m);
printf("%s\n",fuzhi(a,m));
}
char
*fuzhi(char*ch,int
r)
{static
char
b[20];int
i,j;
for(i=r;*(ch+i)!='\0';i++)
for(j=0;j<=i-r+1;j++)
*(b+j)=*(ch+r-1+j);
char
*
x=
b;
return
x;
}