整数の代わりにキーワードを使用してswitch()
ステートメントを使用しようとしています。私はここで私の目標をよりよく指摘するために、より単純で直接的な例に自分の問題を書いた。私の関連するコード:#defineを使用してswitch()で文字列コマンドを使用する
#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