编程刽子手在c

时间:2014-04-05 05:53:48

标签: c arrays function if-statement

编写一个玩刽子手游戏的互动程序。将单词(单个单词,而不是多个单词)存储在一个名为word的字符数组中。创建一个名为猜测的并行数组,其中有*代替字母。如果玩家猜对了,就把这个字母放到猜测的数组中。给玩家5个错误的猜测来找出这个词。假设单词不超过20个字符。

所以我的程序正在编译,除了if语句之外的所有语句都出错了,它一直向我显示两个语句继续运行并再次尝试。

#include <stdio.h>
#include <conio.h>

//function prototypes
void game(char [], char []);

int main()
{
    char word[20] = {'d', 'u','c','k'};
    char guessed[20];
    game(word,guessed);   
    getch();
    return 0;   
} 
void game(char answer[], char guess[])
{
    int x = 0;
    char letter;

    while (x < 6) 
    {
        scanf("%c",&letter);

        if (letter == answer[x])
        {
            guess[x]= letter;
            printf("keep going\n");
        }
        else 
        {
            printf("Try again\n");
        }      

        ++x;
    }  
}

1 个答案:

答案 0 :(得分:1)

更改代码..

scanf(" %c",&letter);
 //    ↑
 // Space before `%c`

因为当您阅读scanf() '\n'左侧未读的值时,按Enter key即可留下。要忽略'\n',你必须用&#34; %c&#34;(%c之前的空格)