#include <stdio.h>
//通过指针函数返回一个截完的串的地址
char *substring(char s[],int i,int j)
{
//这个临时数组必须是static,否则值传不回去
static char temp[100];
int n,m;
for(m=0,n=i;n<=j;n++,m++)
{
temp[m]=s[n];
}
temp[m]='\0';
return temp;
}
int main()
{
char str[] = "I Love Programming";
char *ps = NULL;
ps = substring(str,2,5);
printf("%s\n",ps);
return 0;
}
//版本二
#include <stdio.h>
char *substring(char s[],char temp[],int i,int j)
{
//static char temp[100]; //不再定义局部变量
int n,m;
for(m=0,n=i;n<=j;n++,m++)
{
temp[m]=s[n];
}
temp[m]='\0';
return temp;
}
int main()
{
char str[] = "I Love Programming";
char temp[100]; //定义一个存放截取字符串的数组
//截取串
substring(str,temp,2,5);
printf("%s\n",temp);
return 0;
}