当提出下一个问题时,arc4random 不会改变

问题描述 投票:0回答:1

我想使用 2 个变量中的随机数进行乘法测验。 我尝试使用这个:

int answ

int rand1 = (arc4random()%10)+1;

int rand2 = (arc4random()%20)+1;

printf("\n¿What is %d * %d?: ", rand1, rand2);
  
scanf("%d", &answ);
   
if (answ == rand1*rand2)
    printf("\nCorrect answer!");
else
    printf("\Incorrect answer, the result was %d", rand1*rand2);

我的问题是,当提出下一个问题时,两个随机数都不会改变。 我还尝试添加

srand(time(NULL))
和相同的..(我已经添加了库 stdlib.h)

缺少什么?

c xcode random srand arc4random
1个回答
3
投票

arc4random()
不需要播种,并将返回与任何先前返回的数字无关的随机数。

您的程序存在问题,导致您没有对

arc4random()
进行新的调用,或者没有使用新值。您如何要求新的运行?

srand(time(NULL))
arc4random()
无关。

请注意,您可以使用

arc4random()%10)
代替
arc4random_uniform(10)

© www.soinside.com 2019 - 2024. All rights reserved.