rand() generates a number from 0 to a constant defined in stdlib, which usually corresponds to the architechture of your compiler. So, for 32 bit systems (assuming all the software in the line is 32 bit, too) it will be 2^31-1 = 2 147 483 647, as 1 bit in integers is reserved for negative numbers and 1 number is 0.
Though, by design it is guaranteed to be at least 32767, which is a value for 16 bit integers.
rand()
generates a number from 0 to a constant defined in stdlib, which usually corresponds to the architechture of your compiler. So, for 32 bit systems (assuming all the software in the line is 32 bit, too) it will be 2^31-1 = 2 147 483 647, as 1 bit in integers is reserved for negative numbers and 1 number is 0.Though, by design it is guaranteed to be at least 32767, which is a value for 16 bit integers.
Oh good to know. I googled it and got that 32767 number but it did say “guarantee to be at least 32767”