如何将从函数获得的值分配给 c 中的整数?
How can I assign a value I get from a function to an integer in c?
我正在做一项学校作业,不知道如何做我在标题中要求的事情,不知道如何进行。我得到了代码(由我的教授) 运行 并打印一个骰子卷 (1-6)。
void showDice (int num) {
int diceRoll;
srand(time(NULL));
diceRoll = (rand() %6) +1;
printf("%d\n", diceRoll);
}
我知道如何在主函数 ( showDice(0); ) 中调用它并将其打印出来。但我需要知道如何将它作为一个 int (或另一个变量)获取,以便我可以将它添加到一个总计(或计数器)变量中。
谢谢
你可以简单地return它。像,
int showDice (int num) {
int diceRoll;
srand(time(NULL));
diceRoll = (rand() % 6) + 1;
printf("%d\n", diceRoll);
return diceRoll;
}
此外,如果您打算 num
作为边数,
int showDice (int num) {
int diceRoll;
srand(time(NULL));
diceRoll = (rand() % num) + 1;
printf("%d\n", diceRoll);
return diceRoll;
}
最后,您应该只调用 srand
一次(在程序启动时)。
您可以 return 它(而不是打印它):
int rollDice(int num) {
int diceRoll;
srand(time(NULL));
diceRoll = (rand() %6) +1;
return diceRoll;
}
去掉一些多余的东西,如果num
是边数:
int rollDice(int num) {
srand(time(NULL));
return (rand() % num) + 1;
}
你可以做的是将函数的类型更改为 int,这样你就可以 return 一个值,并且只需 return 函数末尾的 diceRoll:
int showDice(int num) {
int diceRoll;
diceRoll = (rand() %6) +1;
printf("%d\n", diceRoll);
return (diceRoll);
}
然后你可以像这样调用你的函数(注意 srand 应该只调用一次):
int main() {
int rollDice;
srand(time(NULL));
rollDice = showDice(0);
}
我正在做一项学校作业,不知道如何做我在标题中要求的事情,不知道如何进行。我得到了代码(由我的教授) 运行 并打印一个骰子卷 (1-6)。
void showDice (int num) {
int diceRoll;
srand(time(NULL));
diceRoll = (rand() %6) +1;
printf("%d\n", diceRoll);
}
我知道如何在主函数 ( showDice(0); ) 中调用它并将其打印出来。但我需要知道如何将它作为一个 int (或另一个变量)获取,以便我可以将它添加到一个总计(或计数器)变量中。
谢谢
你可以简单地return它。像,
int showDice (int num) {
int diceRoll;
srand(time(NULL));
diceRoll = (rand() % 6) + 1;
printf("%d\n", diceRoll);
return diceRoll;
}
此外,如果您打算 num
作为边数,
int showDice (int num) {
int diceRoll;
srand(time(NULL));
diceRoll = (rand() % num) + 1;
printf("%d\n", diceRoll);
return diceRoll;
}
最后,您应该只调用 srand
一次(在程序启动时)。
您可以 return 它(而不是打印它):
int rollDice(int num) {
int diceRoll;
srand(time(NULL));
diceRoll = (rand() %6) +1;
return diceRoll;
}
去掉一些多余的东西,如果num
是边数:
int rollDice(int num) {
srand(time(NULL));
return (rand() % num) + 1;
}
你可以做的是将函数的类型更改为 int,这样你就可以 return 一个值,并且只需 return 函数末尾的 diceRoll:
int showDice(int num) {
int diceRoll;
diceRoll = (rand() %6) +1;
printf("%d\n", diceRoll);
return (diceRoll);
}
然后你可以像这样调用你的函数(注意 srand 应该只调用一次):
int main() {
int rollDice;
srand(time(NULL));
rollDice = showDice(0);
}