Programme c

Résolu/Fermé
Utilisateur anonyme - 8 déc. 2010 à 13:45
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 - 8 déc. 2010 à 13:59
Bonjour,
je debute dans la programmation c et j'ai créé un petit programme :

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
char prenom[100];
char ville[100];
int age = 0;
printf("Comment t'appelles-tu ? ");
scanf("%s", prenom);
printf("De quelle ville viens tu ?");
scanf("%s", ville);
printf("Quelle age a tu ?");
scanf("%d", age);
printf("%s %d %s ", prenom , age , ville);

return 0;
}

je l'ai edité avec code::blocks et quand je l'ouvre , quand il demande l'age il y a un message d'erreur (...voulez vous envoyez le rapport d'erreur a microsoft...) .
je ne sais pas d'ou viens le probleme .
pourriez vous m'aider ?
merci

2 réponses

Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 192
8 déc. 2010 à 13:51
scanf("%d", age);
en effet, il y a une erreur, il faut faire
scanf("%d", &age);

ceci car pour que scanf puisse modifier la variable age, il faut passer un pointeur.
avec les autres variables tu n'avais pas de problèmes car ce sont des tableaux de char, et qui dit tableau dit pointeur.


voili voilou !

0
prypiat_child Messages postés 1343 Date d'inscription vendredi 30 octobre 2009 Statut Membre Dernière intervention 10 avril 2014 272
8 déc. 2010 à 13:55
et ca serait mieux de ne pas initialiser la taille des tableaux de caractères aussi, mettre juste un pointeur et pas un tableau non ?
0
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 192
8 déc. 2010 à 13:59
Tu veux dire, au lieu de
char prenom[100];
faire
char* prenom;
prenom = new char[100]

???

Personnelement, ca ne me choque pas, et je pense qu'il a d'autres choses à voir avant la notion de pointeurs ;)
lels pointeurs c'est la "grosse pillule" à gober ... autant qu'il ai vu les bases avant, sinon il risque de pas avoir la motivation d'apprendre (je te rassure starcleff, une fois qu'on a comprit les pointeurs, on les trouve simples...)
0
Utilisateur anonyme
8 déc. 2010 à 13:53
Merci beaucoup ! je n'y avais pas pensé !!
merci !!!
0