用户输入一个秘密词,然后从字母表中选择一个字母,如果该字母在秘密词中则变成星号。我认为问题出现在两个for循环中,因为它似乎没有用星号代替这个字母。C语言程序不起作用?
int main()
{
char secretword[20] = {};
char alphabet[27] = {"abcdefghijklmnopqrstuvwxyz"};
char guess;
int i = 0, k = 0;
int length = 0;
length = strlen(secretword);
printf("You Get six chances to guess all of the letters in a phrase\n");
printf("Enter the secret word/phrase: ");
scanf("%s", &secretword);
printf("Past guesses: ");
printf("%s\n", alphabet);
printf("Guess a character: ");
scanf("%s", &guess);
for(i = 0; i < 27; i++)
{
for(k = 0; k < length; k++)
{
if(secretword[k] == alphabet[i])
{
secretword[k] = '*';
}
}
}
printf("%s", secretword);
return 0;
}
当您尝试调试时发现了什么? – 2012-03-15 00:20:07
他发现作业不好玩。 – 2012-03-15 00:20:59
英文字母中只有26个字母......除非您在字母表中包含空字符? – 2012-03-15 00:21:17