我正在尝试修剪 ANSI C 字符串的结尾,但它一直在trim
函数上出现段错误。
#include <stdio.h>
#include <string.h>
void trim (char *s)
{
int i;
while (isspace (*s)) s++; // skip left side white spaces
for (i = strlen (s) - 1; (isspace (s[i])); i--) ; // skip right side white spaces
s[i + 1] = '\0';
printf ("%s\n", s);
}
int main(void) {
char *str = "Hello World ";
printf(trim(str));
}
我似乎无法弄清楚为什么。我已经尝试了 15 种不同trim
的功能,它们都存在段错误。