调用函数的的返回值问题
#include "stdafx.h"#include "malloc.h"
#include "stdlib.h"
char *substr(char *s, int startloc ,int len);
int main(int argc, char* argv[])
{
int i,j;
char str[20]="asdfghjkl",*p;
p=str;
scanf("%d%d",&i,&j);
p=substr(str,i,j);
puts(p);
return 0;
}
char *substr(char *s, int startloc ,int len)
{
char *p,*q;
int i=0;
p=(char *)malloc(len*sizeof(char));
if(p==NULL)
{printf("ERROR!!");
exit (0);
}
q=p;
for(i=startloc;i<len+startloc;i++)
{
*p=*(s+i);
p++;
}
*p='\0';
s=q;
free(p);
return(s);
}
怎么处理char *substr(char *s, int startloc ,int len)函数的返回值啊,这里一直出问题!求解惑