2016-11-28 6 views
0

以下のコードは、W、A、S、Dのいずれかのキーボード入力を取得すると仮定しています。各キーを押すと、画面に別のメッセージを表示する必要があります。このタスクを完了するためにifステートメントを使用すると仮定します。現時点では間違った入力が間違っているようです。私が手キーボード入力と応答の異なるキー

現在の結果は次のとおりです。

  1. 入力文字がUP行くと文字が行くRIGHT
  2. 入力S = DOWN行くの文字と文字を行く= W RIGHT
  3. 入力A =文字が左に行くと、私が望む結果がfollowiあるRIGHT

を行くRIGHT

  • 入力D =文字を行くの文字NG:=文字が
  • 入力D =文字がRIGHT
  • を行く LEFT行く

    1. 入力W =文字UP予定
    2. 入力S =文字DOWN行く
    3. 入力Aはあなた

      ありがとうございました
      #include <stdio.h> 
      
      int main() 
      { 
      char keyInput[2]; 
      //Instructions for user to follow 
      printf("Controls: \n"); 
      printf("W = UP: \n"); 
      printf("A = LEFT \n"); 
      printf("S = DOWN \n"); 
      printf("D = RIGHT \n"); 
      printf("\nWhich direction do you want to go?"); 
      
      scanf("%s", keyInput); 
      
      //choices 
      if (*keyInput == 'W') 
      { 
          printf("Character going UP\n"); 
      } 
      else if (*keyInput == 'A') 
      { 
          printf("Character going LEFT\n"); 
      } 
      else if (*keyInput == 'S') 
      { 
          printf("Character going DOWN\n"); 
      } 
      else if (*keyInput == 'D'); 
      { 
          printf("Character going RIGHT\n"); 
      } 
      return 0; 
      } 
      
    +1

    を終わらせるべきではないのですか?何が起きているように見えますが、それはあなたが何をしたいのではないのですか? – zwol

    +0

    申し訳ありません、投稿を更新しました。うまくいけばあなたが示唆した情報。 –

    答えて

    0

    次の行:

    else if(* keyInput == 'D');

    セミコロンでこれについて何がうまくいかない