Programme c

Résolu
Utilisateur anonyme -  
Nabla's Messages postés 18203 Date d'inscription   Statut Contributeur Dernière intervention   -
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   Statut Contributeur Dernière intervention   3 193
 
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 1344 Date d'inscription   Statut Membre Dernière intervention   272
 
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   Statut Contributeur Dernière intervention   3 193
 
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
 
Merci beaucoup ! je n'y avais pas pensé !!
merci !!!
0