我試圖通過使用關鍵字而不是整數使用switch()
語句。我把我的問題寫成了一個更簡單直接的例子,以更好地指出我的目標。我的相關代碼:使用字符串命令與switch()使用#define
#include <stdio.h>
#include <stdlib.h>
#define put 0
#define get 1
#define run 2
int main() {
int ch;
printf("%s", "Please enter a command: ");
scanf("%d", ch);
switch (ch) {
case 0:
puts("You chose \"put\" as a command.");
break;
case 1:
puts("You chose \"get\" as a command.");
break;
case 2:
puts("You chose \"run\" as a command.");
break;
}
}
理想的情況下,當我掃描用戶輸入,我想用戶能夠利用上述#define
報表提供的命令的。因此,提示用戶輸入值,輸入put
,程序輸出case 0
。這可能與switch()
?
的預處理程序源代碼工作,而不是程序的輸入。 – aschepler
任何編譯器警告或錯誤'int ch; ... scanf(「%d」,ch);'? – chux