Bonjour,

Sous Ubuntu avec gcc, j'ai tenté de faire un programme qui renvoie une valeur aléatoire entière entre 0 et 20.

Il y a bien sûr la solution (qu'un camarade m'a soufflée après) qui consiste à écrire
int nb_aleatoire=rand()%21. Mais je n'ai pas eu d'inspiration, et en consultant le manuel de rand(), j'ai vu qu'elle renvoyait un entier dans l'intervalle [0,RAND_MAX].

J'ai alors copié le header stdlib.h qui contient RAND_MAX, dans le dossier de mon fichier C, en le renommant stdlib2.h. J'écris le programme suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
#include <stdio.h>
#include "stdlib2.h"
 
int main() {
 
   printf("%d",rand());
 
   return 0;
 
}

et je compile :

et j'exécute

Argh !

Qu'ai-je mal fait ?

Merci d'avance.

endreillie