通过模数和用户输入检查随机数

时间:2015-12-05 16:34:42

标签: c

我试图确定用户猜对了一个随机数的数量和位置的次数。

  

例如,如果数字是1234并且用户的输入是7214

     

所以他猜对了2号和4号。   因为:1 [2] 3 [4] == 7 [2] 1 [4]。

问题:在我接受用户输入后,程序会抛弃我。我得到一个错误,上面写着:"表达式:result_pointer!= nullptr"

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <math.h>
#include <time.h>

int hit(int num);
int strike(int num);
int rndNum(int num);

void main()
{
    int num = 0;
    int chosenNum;
    int saveHits;
    srand(time(NULL));
    printf("The Random number: %d", chosenNum = rndNum(num));
    printf("\nPlease enter a 4 digit number: ");
    scanf("%d", num);
    saveHits = hit(num, chosenNum);
    printf("\nThe number of hits: %d", saveHits);
    getch();
}
int rndNum(int num)
{
    int rndNum = rand() % 9000 + 1000;

    return rndNum;
}

int hit(int num1, int chosenNum1)
{
    int i, hit1 = 0;
    for (i = 0; i < 4; i++)
    {
            if (num1 % 10 == chosenNum1 % 10)
                hit1++;
            num1 /= 10;
            chosenNum1 /= 10;
    }
    return hit1;
}

1 个答案:

答案 0 :(得分:1)

您错过了&

scanf("%d", &num);
            ^