所以我正在为我的编程课创建一个ATM程序,长话短说,我必须创建大约四个随机数。我的问题是我的程序不会创建不同的数字,我执行程序时得到的数字是一遍又一遍。
我在我的main函数中有srand(time(NULL));
,因为我的变量是全局的,我试图将它从我的全局变量旁边的main中移出,这给我留下了一个不可克服的错误。 HELPPP !!!!
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
#include<string.h>
int account_number = rand() % 5, pin = rand() % 3, chk_acc_bal = rand() % 4, sav_acc_bal = rand() % 5;
答案 0 :(得分:2)
srand
是一个函数调用,这不能放在文件范围内,你只能在那里放置声明。
将它保留在main
中,这是它应该存在的地方。
答案 1 :(得分:2)
这里的问题是您尝试使用函数调用在文件范围初始化变量。
尝试在主函数中初始化变量。像(我测试和工作)的东西:
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
#include<string.h>
int account_number, pin, chk_acc_bal, sav_acc_bal;
int main(void)
{
srand(time(NULL));
account_number = rand() % 5;
pin = rand() % 3;
chk_acc_bal = rand() % 4;
sav_acc_bal = rand() % 5;
printf("%d\n",account_number);
printf("%d\n",pin);
printf("%d\n",chk_acc_bal);
printf("%d\n",sav_acc_bal);
return 0;
}
希望它有所帮助。最好!
答案 2 :(得分:1)
呼叫
srand(time(NULL));
在main
开始时。要使用rand
使用某个随机值初始化全局变量,请使用:
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
#include<string.h>
int account_number, pin, chk_acc_bal, sav_acc_bal;
int main()
{
srand(time(NULL)); //Call srand in the start of main
account_number = rand() % 5; //Initialize variables with a random value from here
pin = rand() % 3;
chk_acc_bal = rand() % 4;
sav_acc_bal = rand() % 5;
//Rest of the code