#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; }
原文地址:http://blog.csdn.net/huolang_vip/article/details/43818229