rand() es una funcion que se basa en una serie de numeros aleatorios, pero siempre comenzara por la semilla que tu le impongas, para que sea realmente aleatorio te recomiendo que ultilices la funcion SRAND(TIME(0)) antes de que usar RAND(). Debes incluir la libreria stdlib.h time.h.
la hora del computador se basa en un numero que siempre es diferente (como el tiempo mismo no?) time(0) te dara ese numero