当我第一次 srand(time(NULL))
在rollDice()
功能中使用它时它不起作用。但是当我把它放在 main 中时,它可以工作。这是为什么?你能告诉我其中的逻辑吗?
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
int rollDice(void) {
return (1+rand()%6) + (1+rand()%6);
}
int main(void) {
int roll;
srand(time(NULL));
roll = rollDice();
printf("You rolled %d.\n", roll);
enum Gamestatus {WON,LOST,CONTINUE};
enum Gamestatus status;
while(status==CONTINUE){
printf("You are rolling again: \n");
printf("You rolled %d\n", roll = rollDice());
if (targetPoint==roll){
printf("You win!");
status=WON;
}
else if(7==roll){
printf("You lost!");
status=LOST;
}
else
status=CONTINUE;
}
return 0;
}