我被困在一個相當尷尬的事情。下面的代碼:C開關默認情況下不觸發
#include <stdio.h>
#include <stdlib.h>
void processCommand(){
char *c = malloc(sizeof(char) * 128);
scanf("%s", c);
switch(*c){
case '!':
printf("Action");
break;
case '?':
printf("Question");
break;
default:
printf("Unknown Action");
break;
}
}
所以我想要的東西,如果我輸入的第一個字符是東西比!
或?
不同,它應該只是說這是一個未知的動作。所以它適用於輸入其他字符,但每次我鍵入一個空白/選項卡/什麼都沒有,它什麼也不做?
你抱怨沖洗? –
你的意思是輸入一些空格,然後按回車?那麼,scanf將跳過空格,所以你什麼都不讀,並保持在scanf中,直到你輸入一些非空白字符... – Aconcagua
它在Linux平臺上的GCC編譯器中工作正常。 – rsp