這是一個初學者的問題:這是爲什麼打破/給出一個錯誤?這個程序爲什麼會出現分段錯誤?
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char *strtrim_right(char *p)
{
char *end;
int len;
len = strlen(p);
while (*p && len)
{
end = p + len-1;
if(isalpha(*end))
*end =0;
else
break;
}
return(p);
}
int main()
{
char *x="PM123BFD";
strtrim_right(x);
printf("%s", x);
return 0;
}
什麼錯誤?什麼線?什麼編譯器?什麼平臺?如果您不提供信息,您希望我們如何幫助您? – 2010-09-17 12:00:08
@Alexandre Segfault – NullUserException 2010-09-17 12:04:44
「對於x,棄用從字符串常量到'char *'」的轉換;而是使用一個char數組:char x [] = ... – slashmais 2010-09-17 12:19:19