所以,我正在研究這個hang子手遊戲。我在數組和指針方面有點麻煩。這是我有:在C函數中返回一個數組中的項目
char* getword(int index);
int main (void) {
char *secword = getword(1);
printf("%s ", *secword);
}
char *getword(int index)
{
char *words[8]= {'bye', 'hi','what', 'cat', 'dog',
'bird', 'air', 'water', 'fire'};
return words[index];
}
我不斷收到一個分段錯誤(核心轉儲)錯誤。
C中的字符串使用雙引號。該陣列中還有9個字符串,而不是8個。 – 2015-03-08 21:05:03
是的 - 你是如何設法達到段錯誤的? – 2015-03-08 21:06:28
使用'char const *'而不是'char *',並且您需要使用'printf(「%s」,secword);'或'printf(「%c」,* secword);'。並注意編譯器消息;如果有任何警告或錯誤,甚至不打擾你的程序運行 - 首先解決錯誤。 – 2015-03-08 21:06:59