下面是一個名爲scrabble.c的程序的代碼片段,用於播放簡化版本的遊戲。用戶被分配了7個隨機字符,然後被告知使用這些字符輸入一個單詞。我遇到了用戶輸入並將其存儲在數組中的函數的問題。堆砌在Scrabble迷你遊戲程序中粉碎
此功能應該提示用戶輸入一個單詞,然後讀取它,並將它逐個字符地存儲在數組「字」中。該函數還應返回用戶輸入的單詞的大小(輸入的字母數)。
int read_word(char word[7], int max_size_word)
{
int c = 0, input_count = 0;
printf("Please enter your word : ");
char user_input = getchar();
for(c = 0; c < max_size_word; c++)
{
if(user_input != '\n')
{
word[input_count] = user_input;
input_count++;
printf("input_count = %d, letter entered = %c\n", input_count,
user_input);
}
else if(user_input == '\n')
{
return input_count;
}
user_input = getchar();
}
return input_count;
//在這裏發生錯誤。錯誤:堆棧溢出檢測./scrabble終止中止核心轉儲「
爲什麼砸被檢測堆棧
}
int main(void)
{
int t;
int letter_set[7] = {0};
char word[7];
int size_letter_set = 100;
int num_letters = 7;
generate_letter_set(&letter_set[7], size_letter_set, num_letters);
read_word(&word[7], 7);
printf("printing word : ");
for(t=0; t < 7; t++)
{
printf("%c", word[t]);
}
printf("\n");
return 0;
}