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 .......
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 auscanf
, 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 tesswitch
s.-
Merci a vous :) ,malgré ke j'ai pas bien compris , mais Maintenant je peux recuperer les deux lettre mais quand je tape ba il me donne seulement bbb mais quand je tappe a il me donne aaabbb , une solution svp ca fé 4 heures que je cherche comment le programme me permet d avoir mes char organisé ....
char p[2] ;
printf ("enter your text : ");
scanf("%s" , &p[2] );
switch (p[2] ) {
case 'a' : printf("aaa");
case 'b' : printf("bbb");
} -
-
-