Switch case [Résolu]

Signaler
Messages postés
7
Date d'inscription
jeudi 4 mars 2021
Statut
Membre
Dernière intervention
15 mars 2021
-
Messages postés
7
Date d'inscription
jeudi 4 mars 2021
Statut
Membre
Dernière intervention
15 mars 2021
-
Bonjour,
ceci mon code avec une swiitch case autonome .
il ne fonctionne pas . il reste toujours dans la premiere (case 0)

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

void control (void) {

static char step =0;
switch(step) {
case 0 :
printf("im in 0");
step = 1 ;
printf("%d",step);
break ;
case 1 :
printf("%d",step);
printf("im in 1");
step = 2 ;
break ;
case 2 :
printf("im in 2");
break ;
}
}
int main(void) {

control();

}

je besoins de l'aide s'il vous plais

3 réponses

Messages postés
1080
Date d'inscription
lundi 23 mars 2020
Statut
Membre
Dernière intervention
14 juin 2021
120
Bonjour,

Ben oui,

on appelle control()
step = 0
on switch sur step, donc on va dans case = 0
dedans, on met step à 1
on imprime step
on break, donc on sort du switch
on sort de control()
on termine le programme
Messages postés
7
Date d'inscription
jeudi 4 mars 2021
Statut
Membre
Dernière intervention
15 mars 2021

oui je fait ca dans le main fonction avec le boucle while(1)
mais ca marche maintenant mercciii
Messages postés
568
Date d'inscription
dimanche 7 février 2016
Statut
Membre
Dernière intervention
13 juin 2021
77
Et pourquoi, n'essayes tu pas d'appeler
control()
plusieurs fois?
Messages postés
1080
Date d'inscription
lundi 23 mars 2020
Statut
Membre
Dernière intervention
14 juin 2021
120
Avec les balises de code:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

void control (void) {

    static char step =0;
    switch(step) {
        case 0 :
            printf("im in 0");
            step = 1 ;
            printf("%d",step);
            break ;
        case 1 :
            printf("%d",step);
            printf("im in 1");
            step = 2 ;
            break ;
        case 2 :
            printf("im in 2");
            break ;
    }
}

int main(void) {

    control();
    return(0);
}