Erreur de compilation

Bonjour a tous

Quelqu un peux m expliquer le message

console.c: In function ‘main’:
console.c:12:9: warning: character constant too long for its type
 printf ('Veuillez entrer un "%d" chiffre',nombreUn);
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
console.c:12:9: warning: passing argument 1 of ‘printf’ makes pointer from integer without a cast [-Wint-conversion]
In file included from console.c:1:
/usr/include/stdio.h:332:43: note: expected ‘const char * restrict’ but argument is of type ‘int’
 extern int printf (const char *__restrict __format, ...);

Merci d avance.

Quel est le contexte s’il te plait ?

Un programme (basique) qui demande a un utilisateur de saisir des valeurs puis affiche le resultat

Yep !

Quand je fais ça chez moi,

#include <stdio.h>
int main(int argc, char **argv)
{
   int nombreUn;
   printf ("Veuillez entrer un « %d » chiffre",nombreUn);
   return 0;
}

ça compile, avec juste un petit warning comme quoi nombreUn n’est pas initialisé.

Et Clochette voulait surement plutôt connaître le système d’exploitation et l’environnement de dév’.

Je suis Debian 10 et je compile avec gcc

Ah, j’arrive à reproduire ton message d’erreur en remplaçant les guillemets doubles quotes (touche 3 du clavier azerty) que j’ai utilisés par des guillemets simples quotes (touche 4).

Merci a tous d’avoir pris la peine de me repondre j ai trouve la cause du probleme

Un truc cool et en accord avec les règles des forums du web aurait été d’indiquer la solution trouvée afin que tout le monde puisse en profiter et progresser (mais je rêve toujours d’un monde meilleur…)

1 J'aime

OK en fait dans le

printf (" Saisir une valeur  pourcentage d\n",nombre);

j ai du mal a saisir le symbole pourcentage sur ce forum.le message d erreur etait du au fait que je mettais

"pourcentaged\n" 

je rajoutais des guillemets

a present j ai un autre soucis

je m excuse Micp d avance je vais poster une capture d ecran dans ce cas je trouve que c est explicite
voici mon code

#include <stdio>

 int main ()

  {
     int nombreUn;
     int nombreDeux;
     int resultat=nombreUn+nombreDeux;

printf ("Saisissez un nombre:%d\n",nombreUn);

scanf  ("%d",&nombreUn);
printf  ("Saisissez un second nombre:%d\n",nombreDeux);
scanf  ("%d",&nombreDeux);

printf ("La somme est de :%d\n",resultat = nombreUn + nombreDeux);

return 0;
  }

la compilation c est bien passe mais en revanche

pat66@deb:~$ ./test
Saisissez un nombre:0
4
Saisissez un second nombre:32764
4
La somme est de :8
pat66@deb:~$ 

en s executant vous remarque sur la ligne invitant a saisir une valeur il des chiffres qui s affichent en l occurrence 0 et 32764 .
Quelqu un peux m expliquer ?

Tu fais afficher sur tes lignes d’instructions à l’utilisateur des valeurs pour tes variables, donc le prog affiche bêtement ce qu’il y a en mémoire, en général 0 ou nawak et c’est ce qui se passe puisque tes variables ne sont pas initialisées.
Pour moi ces affichages ne servent à rien, sur la ligne de commande « Saisissez un nombre » serait amplement suffisant.

Merci jipete

probleme resolu

Pas de problèmes, je sais que ce n’est pas évident,
alors j’ai recopié manuellement au format texte
ce que j’ai pu lire du texte contenu dans les images.

Voir : Tuto en ligne : Présentation de ses messages sur ce forum