Question de C - Programmation
Marsh Posté le 16-10-2001 à 12:22:15
Zeplusoif a écrit a écrit : Pourkoi mon programme ne marche pas? #include<stdio.h> main() { int n; char p; printf("Entrez un entier:" ); scanf("%d",&n); printf("Entrez un caractère:" ); scanf("%c",&p); } Le programme se termine avant la saisie du caractère. Si j'inverse la saisie du caractère et de l'entier, tout se passe bien. J'utilise djgpp. Merci |
vive la stabilité made in scanf! hein koulip?
Marsh Posté le 16-10-2001 à 12:34:00
Et y a pas une solution?
J'arrive pas a saisir un caractère après un entier. Même en utilisant getchar()...
Marsh Posté le 16-10-2001 à 12:44:00
est-ce qu'il ne considère pas le retour chariot (utilisé pour valider la saisie de l'entier ) comme un seconde saisie pour le char?
Marsh Posté le 16-10-2001 à 12:45:12
c'est bien ce qu'il fait (affiche le contenu des variables après saisie du seul entier)
Marsh Posté le 16-10-2001 à 13:00:12
Il faut faire un fflush(stdio) avant le deuxieme scanf, pour vider le buffer de l'entree standard
Marsh Posté le 16-10-2001 à 15:13:27
Merci bien mais je crois que je vais utiliser cin et cout a l'avenir.
Marsh Posté le 16-10-2001 à 15:28:53
Zeplusoif a écrit a écrit : Merci bien mais je crois que je vais utiliser cin et cout a l'avenir. |
ca marche en c?
c'est pas limité au C++?
Marsh Posté le 16-10-2001 à 16:03:08
sisi cin et cour ca marche pour le C++ avec iostream.h, mais pas en C avec stdio.h
Marsh Posté le 16-10-2001 à 16:25:41
cram a écrit a écrit : sisi cin et cour ca marche pour le C++ avec iostream.h, mais pas en C avec stdio.h |
je me disais aussi
Marsh Posté le 16-10-2001 à 17:04:28
de tt façon, vaut mieux faire un fgets(buffer, sizeof(buffer), stdin) et traiter le buffer aprés. c plus sûr (débordemants...)
Marsh Posté le 16-10-2001 à 12:20:56
Pourkoi mon programme ne marche pas?
#include<stdio.h>
main()
{
int n;
char p;
printf("Entrez un entier:" );
scanf("%d",&n);
printf("Entrez un caractère:" );
scanf("%c",&p);
}
Le programme se termine avant la saisie du caractère. Si j'inverse la saisie du caractère et de l'entier, tout se passe bien. J'utilise djgpp.
Merci
---------------
If fate doesn't make you laugh, then you don't get the joke