濡備綍鐢–璇█switch case鏋勫缓鐘舵€佹満
鍦–璇█涓彲浠ヤ娇鐢╯witch case璇彞鏉ユ瀯寤虹姸鎬佹満銆備笅闈㈡槸涓€涓畝鍗曠殑绀轰緥锛?/p>
#include <stdio.h>
typedef enum {
STATE_IDLE,
STATE_RUNNING,
STATE_PAUSED,
STATE_STOPPED
} State;
int main() {
State currentState = STATE_IDLE;
char input;
while(1) {
switch(currentState) {
case STATE_IDLE:
printf("Currently in idle state. Press 'r' to start running.\n");
break;
case STATE_RUNNING:
printf("Currently running. Press 'p' to pause, 's' to stop.\n");
break;
case STATE_PAUSED:
printf("Currently paused. Press 'r' to resume, 's' to stop.\n");
break;
case STATE_STOPPED:
printf("Currently stopped. Press 'r' to start running again.\n");
break;
}
input = getchar();
switch(currentState) {
case STATE_IDLE:
if(input == 'r') {
currentState = STATE_RUNNING;
}
break;
case STATE_RUNNING:
if(input == 'p') {
currentState = STATE_PAUSED;
} else if(input == 's') {
currentState = STATE_STOPPED;
}
break;
case STATE_PAUSED:
if(input == 'r') {
currentState = STATE_RUNNING;
} else if(input == 's') {
currentState = STATE_STOPPED;
}
break;
case STATE_STOPPED:
if(input == 'r') {
currentState = STATE_RUNNING;
}
break;
}
}
return 0;
}
鍦ㄨ繖涓ず渚嬩腑锛屾垜浠畾涔変簡涓€涓灇涓剧被鍨婼tate鏉ヨ〃绀虹姸鎬佹満鐨勪笉鍚岀姸鎬併€傚湪涓诲嚱鏁颁腑锛屾垜浠娇鐢ㄤ竴涓獁hile寰幆鏉ヤ笉鏂鏌ュ綋鍓嶇姸鎬佸苟鏍规嵁杈撳叆鏀瑰彉鐘舵€併€傞€氳繃浣跨敤switch case璇彞锛屾垜浠彲浠ユ牴鎹綋鍓嶇姸鎬佹墦鍗颁笉鍚岀殑鎻愮ず淇℃伅锛屽苟鏍规嵁杈撳叆鏉ユ敼鍙樼姸鎬併€傝繖鏍峰氨鏋勫缓浜嗕竴涓畝鍗曠殑鐘舵€佹満銆?/p>
相关问答