我正在尝试在 ansi C 中的字符串中编写简单的函数修剪空间。
我的 str_utis.h:
#include <string.h>
const char* trim_str(char *input_str);
我的 str_utils.c:
const char* trim_str(char* input_str){
char* str = NULL;
int len = strlen(input_str);
int i = 0;
for (i = 0; i < len - 1; i++){
if (input_str[i] == ' ')
;
else
str += input_str[i];
}
return str;
}
当我尝试执行它时,我得到了段错误:
int main(int argc, char** argv) {
const char* a = trim_str("Hey this is string");
printf("%s", a);
return 0;
}
为什么错了?我怎样才能正确写?
谢谢你。