Problème avec printf ^^
RésoluAlors voici ma ligne de code :
Printf("\nMonsieur %d %d declare : %d ",nom, prenom, avis);
Il me met erreur sur cette ligne mais je ne voit pas l'erreur. je comence juste le C ^^
Merci d'avance
Configuration: Windows XP Firefox 3.0.11
37 réponses
Problème d'affichage en C : l'utilisation de printf avec des chaînes de caractères et des variables nom, prénom et avis, lorsque l'on tente d'afficher des valeurs avec des %d. La meilleure réponse indique d'utiliser le format %s pour les chaînes de caractères et propose d'adapter l'exemple en printf("\\nMonsieur %s %s declare : %s", nom, prenom, avis). D'autres messages expliquent comment déclarer correctement les chaînes avec des tableaux char nom[100], prenom[100], avis[100], puis lire avec scanf et afficher avec printf. En cas de difficultés supplémentaires, plusieurs échanges soulignent aussi l'importance de la taille des tableaux et des risques de dépassement mémoire lors des entrées et des sorties.
-
Contributeurcourrage et persévérence seront tes amis face aux dangers qui te guettent sur le chemin de la connaissance du C++ ;)
prochaines fois, n'oublies pas de passer le sujet en résolu quand tu as eu la réponse a ta question ! -
ha ha ha ha !!! ca me rappelle mon enfance !!!
-
SUUUppppeeeerrrrrrrrrrrrr !!!!!!!!!!!!!
ça marche ^^
MERRRRRCCCCCIIIIIIII
je reviendrai vous posez quelque question de tps a autre.
Ce programme est mon premier ^^
D'autre viendront plus tard. -
Quoique en fait en remettant les & ça passe aussi, hum à force de faire plusieurs trucs on en oublie les bases... ouarf. Bref visiblement ça marche même avec le caractère &, le compilateur doit surement interpréter &prenom[0] je suppose.
Bref sinon l'erreur vient de la ligne
char prenom, nom, avis [100];
Il faut déclarer prenom[100], nom [100], avis [100];
Autrement prenom et nom sont sur un caractère et pas une chaine et le %s n'est pas valide également dans ce cas.
Bref essayes ça :O
En tout cas moi je fais marcher le prog en trente secondes.-
Contributeurexact. J'avais moi non plus pas fait attention au début ;)
char prenom[100], nom [100], avis[100]; scanf("%s",prenom); printf("Entrez Votre nom : "); scanf("%s",nom); printf("\nQu'elle votre reaction a propose de ce programme ? "); scanf("%s",avis);
essayes de faire toutes tes déclarations au meme endroit: au tout début de ton code -
-
-
Effectivement Kuchi ..... T_T
-
Ok , ^^
Moi je vais faire de même je reviens ce soir. -
Nan mais les gars essayez déjà en enlevant le caractère "&" dans les scanf sur des chaînes de caractères :O
-
Non je n'ai pas essayé, je suis au taf quand même, un peu de sérieux :P
-
Sa peut eter quoi ? tu la essayé ? il beug aussi chez toi ?
-
A priori, le programme ne plante pas sans le dernier printf, donc ... :/ Et s'il manquait une lib, la compilation échouerait ...
-
nan c'etais déja la
-
à partir d'où exactement ça plante, essaie de mettre des printf intermédiaires pour voir où est le problème...
t'as écrit #include <stdio.h>??
-
c'est bien printf qui bloque
-
Oki ... Et tu es sûr que c'est le printf qui plante ? Mets-le en commentaire et lance ;)
-
la j'ai mis 2 charactère et rien.
-
Bonne question pourquoi ?
-
Pour tester, tu entres combien de caractères pour la variable avis ?
-
Le voici,
#include <cstdlib> #include <iostream> using namespace std; int main(int argc, char *argv[]) { int vie,joueur, ennemy; vie = 5; joueur = 5; ennemy = 5; printf("Il y a %d joueurs qui ont chacuns %d vies. \nIls doivent combatre %d ennemy ensemble.\n",vie, joueur, ennemy); printf("Entrer un Nombre :"); int mort =0; scanf("%d", &mort); int ennemy2, ennemy3; ennemy2 = ennemy - mort + joueur ; ennemy3 = ennemy2 + mort - ennemy ; printf ("Vous avez tuez %d ennemy, Mais %d arrive en plus. \nIl y a donc maintenant %d ennemy.\n",mort, ennemy3, ennemy2); printf("Entrez votre Prenom : "); char prenom, nom, avis [100]; scanf("%s",&prenom); printf("Entrez Votre nom : "); scanf("%s",&nom); printf("\nQu'elle votre reaction a propose de ce programme ? "); scanf("%s",&avis); printf("\nMonsieur %s %s declare : %s ",nom, prenom, avis); system("PAUSE"); return EXIT_SUCCESS; } -
t'as changé la majuscule en minuscule comme je te l'ai indiqu"?
reposte ton code, stp -
Sa marche .... presque ^^
maintenant je le lance je vais jusqu'au bout et au moment d'afficher le dernier printf il me met, projet1.exe a rencontré un problème et doit fermer : envoyer le rapport / ne pas envoyer.
Rha sa m'énerve
- 1
- 2