fork download
  1. #include<stdio.h>
  2.  
  3. enum state
  4. {
  5. STATE_00=0,
  6. STATE_01,
  7. STATE_02,
  8. STATE_03
  9. };
  10.  
  11. int f1(int s) { return s==0?STATE_01:STATE_02;}
  12. int f2(int s) { return s==0?STATE_03:STATE_00;}
  13. int f3(int s) { return s==0?STATE_00:STATE_03;}
  14. int f4(int s) { return STATE_03;}
  15.  
  16. int main()
  17. {
  18. int(*func[4])(int);
  19. func [0]= f1;
  20. func [1]= f2;
  21. func [2]= f3;
  22. func [3]= f4;
  23.  
  24. int input[10]={1,0,0,1,1,0,0,1,1,0};
  25. enum state s = STATE_00;
  26.  
  27. for(int i=0;i<10;i++) {s=func[s](input[i]);}
  28. printf("%d",s);
  29. return 0;
  30. }
Success #stdin #stdout 0s 5308KB
stdin
Standard input is empty
stdout
Standard output is empty