2016-11-28 80 views
0

下面的代碼是假設得到要麼是W,A,S或D.當按下每個鍵顯示在屏幕上,需要一個不同的消息中的用戶的鍵輸入。我想用if語句來完成這個任務。目前,錯誤的反應出現在錯誤的輸入中。鍵盤輸入和不同的密鑰

目前的結果我得到的是:

  1. 輸入W =字往上走和字符在朝好的方向發展
  2. 輸入S =性格下降和漢字在朝好的方向發展
  3. 輸入A =性格去左邊和性格在朝好的方向發展
  4. 輸入d =字在朝好的方向發展

我想要的結果是followi NG:

  1. 輸入W =字往上走
  2. 輸入S =字符下去
  3. 輸入A =字去左邊
  4. 輸入d =字在朝好的方向發展

謝謝

#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

此行:

否則如果(* keyInput == 'd');

不應該以分號