2015-01-01 63 views
-1

我想使用2個變量的隨機數進行乘法測驗。 我試圖用這樣的:對Xcode的arc4random C

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)

什麼都沒有?

回答

2

arc4random()不需要播種,並且會返回一個與任何以前返回的編號無關的隨機數。

您的程序存在問題,因此您沒有撥打arc4random()或未使用新值。你如何要求新的運行?

srand(time(NULL))arc4random()無關。

只是單挑,而不是arc4random()%10),你可以使用arc4random_uniform(10)

+0

我交換arc4random()%10爲arc4random_uniform(10)並且仍然相同。但我解決了它,謝謝!如你所說,我不得不要求新的奔跑! – Alex

+0

是的,那不是問題。 arc4random能夠正常工作,它是如何使用它的,請求多個問題的其餘代碼在哪裏?提供的代碼甚至沒有編譯,它有兩個錯誤。 – zaph