With another alteration you can fix the duplicate issue here by not calling srand() every time you generate 1 random number. You should really
only seed once per run unless you are a daemon that is up for days on end or something like that. Upon reloading config for example could be another good time.
If instead you use a static variable to determine whether or not rand has been seeded then you only do it the first time you call genRandNum and
get much better output:
Code:
int genRandNum(void)
{
static enum { OFF, ON } init;
int z = 1, min = 0, max = 1000; //sets local variables for random number generation
printf("Generating random number\n"); //test line
if (init != ON) {
srand ( time (NULL) ); //seeds random number generator
init = ON;
}
...
...
Output:
Code:
Generating random number
generated: 641
generated: 901
generated: 167
generated: 75
generated: 128
generated: 830
generated: 734
generated: 178
generated: 965
generated: 889
generated: 12
returned value = 12
Generating random number
generated: 383
generated: 861
generated: 723
generated: 821
generated: 77
generated: 67
generated: 829
generated: 917
generated: 798
returned value = 798
Generating random number
generated: 890
generated: 881
generated: 26
generated: 208
generated: 752
generated: 359
generated: 582
returned value = 582
Generating random number
generated: 760
generated: 582
returned value = 582