Fonction scanf
nounou_89
Messages postés
44
Date d'inscription
Statut
Membre
Dernière intervention
-
nounou_89 Messages postés 44 Date d'inscription Statut Membre Dernière intervention -
nounou_89 Messages postés 44 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai un probleme avec la fonction scanf
En faite je ne connais pas le nombre d'entré que l'utilisateur aura fait donc je me demande si quelqu'un peut m'aider a arranger mon bout de programme
int d,c=0;
printf("entrer les differentes annees : ");
while(scanf("%d",&d) != 0){
if(d == 0)
break;
printf("%d ",d);
c++;
}
printf("c = \n",c);
Merci d'avance
J'ai un probleme avec la fonction scanf
En faite je ne connais pas le nombre d'entré que l'utilisateur aura fait donc je me demande si quelqu'un peut m'aider a arranger mon bout de programme
int d,c=0;
printf("entrer les differentes annees : ");
while(scanf("%d",&d) != 0){
if(d == 0)
break;
printf("%d ",d);
c++;
}
printf("c = \n",c);
Merci d'avance
A voir également:
- Fonction scanf
- Fonction si et - Guide
- Fonction miroir - Guide
- Fonction moyenne excel - Guide
- Fonction remplacer sur word - Guide
- Fonction somme excel - Guide
8 réponses
Je ferai plutôt un truc du genre moi :
En fait faire le scanf dans la condition while ça fait bizarre je trouve, je sais pas trop comment ça réagi (je peux pas tester là) mais au premier test du while il considère comme vrai ou faux, est-ce qu'il lit bien l'entrée au clavier ?
Là dans ce que je t'ai mis, tu lis une première fois, tu fais ton test et tu rentres dans la boucle (si y'a pas de zéro la première fois), tu fais ton traitement et à la fin tu relis et ça met à jour la valeur dans d
int d,c=0; printf("entrer les differentes annees : \n"); scanf("%d",&d); while (d != 0){ printf("%d ",d); c++; scanf ("%d", &d); } printf("c = \n",c);
En fait faire le scanf dans la condition while ça fait bizarre je trouve, je sais pas trop comment ça réagi (je peux pas tester là) mais au premier test du while il considère comme vrai ou faux, est-ce qu'il lit bien l'entrée au clavier ?
Là dans ce que je t'ai mis, tu lis une première fois, tu fais ton test et tu rentres dans la boucle (si y'a pas de zéro la première fois), tu fais ton traitement et à la fin tu relis et ça met à jour la valeur dans d
merci d'avoir repondu aussi vite
mais en faite il fait la meme chose que mon programme il boucle a l'infini
mais en faite il fait la meme chose que mon programme il boucle a l'infini
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question#include <stdio.h> int main (){ int d=0; int c=0; printf("entrer les differentes annees : \n"); scanf("%d",&d); while (d != 0){ printf("%d ",d); c++; scanf ("%d", &d); } printf("c = \n",c); return 0; }
Si tu mets ça, ça te donne quoi ?
sa boucle toujours a l'infini a mon avi il faut mettre une condition de fin comme sa parce ke sa marche
int main() {
int d,c=0;
printf("Entrer les differentes annees, a la fin veuillez taper le chiffre 3 : ");
scanf("%d",&d);
while (d != 3){
printf("%d \n",d);
c++;
scanf ("%d", &d);
}
printf("c = %d \n",c);
}
int main() {
int d,c=0;
printf("Entrer les differentes annees, a la fin veuillez taper le chiffre 3 : ");
scanf("%d",&d);
while (d != 3){
printf("%d \n",d);
c++;
scanf ("%d", &d);
}
printf("c = %d \n",c);
}