57. State Machine Using Function Pointers

Back To All Submissions
Previous Submission
Next Submission

Code

    #include <stdio.h>

    void state_init()    { printf("Init"); }
    void state_load()    { printf("Load"); }
    void state_execute() { printf("Execute"); }
    void state_exit()    { printf("Exit"); }

    // Your logic here
    void run_state_sequence(int start) {
        typedef void (*fp)(void);
        fp fp1[4]={state_init,state_load,state_execute,state_exit};
      for(int i = start; i < start + 3; i++) {
        int index = i % 4;
            fp1[index]();
            printf("\n");

            }
        }

    int main() {
        int start;
        scanf("%d", &start);
        run_state_sequence(start);
        return 0;
    }

Solving Approach

 

 

 

Was this helpful?
Upvote
Downvote