i would like to know why there is a difference in the output from my gcc compiler in Sublime Text 3 on Windows 10 and the expected output? If so how can i change the compile
As part 7.22.2.1
of C11 standard mentions, output of rand()
function is implementation defined, so it may change based on each implementation (or even versions of compiler).
The only thing that is guaranteed is this:
Returns a pseudo-random integer value between 0 and RAND_MAX (0 and RAND_MAX included).
This means that even uniform distribution is not guaranteed too.
If you need a generate pseudo-random numbers generator which is guaranteed to create same sequence all the time (for each seed), you need to write that functions yourself. One way to write such a function is using LFSR, or you can check implementation of a rand()
function for a specific version and add it to your code as a your application specific random function like myrand()
.