c语言中使用Switch case 的方式实现一个状态变化的实例
时间: 2024-02-26 09:58:09 浏览: 69
好的,我可以帮您解答这个问题。以下是一个使用Switch case实现状态变化的示例:
```c
#include <stdio.h>
int main() {
int state = 0; // 初始状态为0
char input;
while(1) {
printf("当前状态为%d,请输入指令:\n", state);
scanf("%c", &input);
switch(input) {
case 'a':
if(state == 0) state = 1;
else if(state == 1) state = 2;
else state = 0;
break;
case 'b':
if(state == 1) state = 0;
else if(state == 2) state = 1;
break;
case 'c':
if(state == 2) state = 0;
break;
default:
printf("无效指令,请重新输入!\n");
break;
}
}
return 0;
}
```
该程序实现了一个简单的状态机,有三个状态0、1和2,每次根据输入的指令改变当前状态。指令a使当前状态从0变为1,从1变为2,从2变为0;指令b使当前状态从1变为0,从2变为1;指令c使当前状态从2变为0。如果输入了无效指令,程序会提示重新输入。
希望这个示例对您有所帮助。
阅读全文