J'essaie de prendre deux variables en entrée en utilisant cet extrait de code: -
unsigned int i;
unsigned long int j;
scanf("%u",i);
scanf("%lu",j);
Mais cela donne lieu aux avertissements suivants: -
avertissement: le format '% u' attend l'argument de type 'unsigned int *', mais l'argument 2 a le type 'unsigned int' [-Wformat] avertissement: le format '% lu' attend l'argument de type 'long unsigned int *', mais l'argument 2 a le type 'long unsigned int' [-Wformat] Quelqu'un peut-il m'expliquer ce qui se passe ici?
Vous devez ajouter un leader &
, car scanf
prend pointeurs aux paramètres de sortie. Sinon, il ne peut pas leur écrire.
scanf("%lu", &i);