这样编辑了获取子字符串 的功能函数,却悲剧的犯了个错误。 ouputString为局部变量指针,局部变量在程序堆栈中分配内存,暂时存储,这样的地址在执行完函数后就会被释放。所以返回的地址是错误的! 应该用static或者动态分配内存。 [c] char *subString(char *intputString , int start , int length) { if((start + length) > strlen(intputString))//越界了 return NULL; char outputString[MAX_LENGTH]; int i; for(i = start;i < start + length;i++) { outputString[i-start] = intputString[i]; } outputString[i - start] = ‘\0’; return outputString; } [/c]