Моя программа C не дает желаемого результата - PullRequest
0 голосов
/ 02 августа 2020

Я учусь и новичок в C. Я делаю игру по угадыванию чисел, используя C, но она не выполняется должным образом, мой оператор if не выполняется в этом коде, пожалуйста, помогите.

 #include<stdio.h>
    #include<stdlib.h>
    #include<time.h>
    int main(){
        int num, guess, count;
        count = 1;
        srand(time(0));
        num = (rand()%10 + 1);

        do
        {
            printf("Guess the number: \n");
            scanf("%d", guess);
            if(guess>num)
            {
                printf("too large");
            }
            else if(guess<num)
            {
                printf("too small");
            }
            else
            {
                printf("you won!\nIn %d count.", count);
            }
            
            count++;
            
            
        }while(guess != num);
        
        return 0;
    }

Код должен был выдавать результат как

 Guess the number
     5
    too small!
    Guess the number
    7
    You won in 2 count

Но он не выполняет оператор if else и нарушает l oop after scanf. Пожалуйста, помогите.

Ответы [ 2 ]

1 голос
/ 02 августа 2020

Ваш scanf неверен:

scanf("%d", guess); // should be scanf("%d", &guess);
0 голосов
/ 02 августа 2020

Нет проблем с вашим оператором if. Проблема в том, что scanf () принимает строку формата и указатель, но не формат и переменную без указателя.

...