Probleme COMPLEEEEEXE avec les Conditions
GnuPro
Messages postés
3
Statut
Membre
-
ElementW Messages postés 5690 Statut Contributeur -
ElementW Messages postés 5690 Statut Contributeur -
Bonjour,
Je suis Un Nouveaux Programmeur En C , J'ai Un probleme complexe avec les condition switch if ... etc Moi je souhaite avoir un text de mon choix dés que les conditions existe , et si la premiere condition existe je veux que le programme passe a la deuxieme et l'imprimer , EX :
char p[3] ;
printf ("enter your text : ");
scanf("%s" , &p[3] );
switch (p[3] ) {
case 'a' : printf("b");
switch (p[3]) {
case 'b' : printf("a");
}
}
Le probleme c quand j'ecris a le programme me donne b , ok c bon , mais quand j'ecris ab le programme me donne que b alors il a analyser que la premiere condition . SVP aider moi :)
Le probleme est le meme quand j'utilise CASE : 'a' ou IF .......
Je suis Un Nouveaux Programmeur En C , J'ai Un probleme complexe avec les condition switch if ... etc Moi je souhaite avoir un text de mon choix dés que les conditions existe , et si la premiere condition existe je veux que le programme passe a la deuxieme et l'imprimer , EX :
char p[3] ;
printf ("enter your text : ");
scanf("%s" , &p[3] );
switch (p[3] ) {
case 'a' : printf("b");
switch (p[3]) {
case 'b' : printf("a");
}
}
Le probleme c quand j'ecris a le programme me donne b , ok c bon , mais quand j'ecris ab le programme me donne que b alors il a analyser que la premiere condition . SVP aider moi :)
Le probleme est le meme quand j'utilise CASE : 'a' ou IF .......
A voir également:
- Probleme COMPLEEEEEXE avec les Conditions
- Je ne suis pas un robot confidentialité - conditions ✓ - Forum Mail
- Mise en forme conditionnelle excel plusieurs conditions - Guide
- Excel reporter des données sur une autre feuille avec conditions ✓ - Forum Excel
- Libreoffice calc si plusieurs conditions ✓ - Forum LibreOffice / OpenOffice
- Mise en forme conditionnelle avec 2 conditions ✓ - Forum Bureautique
1 réponse
'lut, ton code ne marchera pas comme tu le souhaites:
tu alloues de la place pour 3 caractères, autrement dit 2 lettres + le NUL de fin.
Or du donnes l'adresse du 3e caractère au
Corrige ça et ensuite on verra pour tes
tu alloues de la place pour 3 caractères, autrement dit 2 lettres + le NUL de fin.
Or du donnes l'adresse du 3e caractère au
scanf, donc non seulement il y a dépassement de tampon, mais aussi tu ne peux récupérer qu'une seule lettre: la première tapée.
Corrige ça et ensuite on verra pour tes
switchs.
char p[2] ;
printf ("enter your text : ");
scanf("%s" , &p[2] );
switch (p[2] ) {
case 'a' : printf("aaa");
case 'b' : printf("bbb");
}
C'est : scanf("%s", p); plutôt.
Ensuite switch(p[...]) /*avec ... le nombre qui vaut 0 ou 1 (mais pas 2).
Rappel : si tu fais char p[2], cela crée un tableau de 2 cases (p[0] et p[1]).