我在StackOverflow上看到了很多問題,但是閱讀答案並沒有爲我清楚,可能是因爲我是C編程中的一個新手。這裏的代碼:返回一個指向char數組的指針C
#include <stdio.h>
char* squeeze(char s[], char c);
main()
{
printf("%s", squeeze("hello", 'o'));
}
char* squeeze(char s[], char c)
{
int i, j;
for(i = j = 0; s[i] != '\0'; i++)
if(s[i] != c)
s[j++] = s[i];
s[j] = '\0';
return s;
}
它編譯和我得到分段錯誤,當我運行它。我已經閱讀了this常見問題解答關於返回數組,並嘗試了那裏提供的'靜態'技術,但仍然無法使程序工作。任何人都可以指出它到底出了什麼問題,以後我應該注意什麼?
你想做什麼? – 2010-04-13 02:10:54
@snitko:'main()'的返回類型在哪裏? – 2010-04-13 02:15:42