0

私のより大きなプロジェクトに実装する前に、適切に動作することを確認するための非常に単純なコードを作成しました。ユーザーには 3 つのオプションのリストが表示され、ユーザーは 1 つを選択する必要があります。このコードでは、ユーザーのオプションが表示されます。

#include <stdio.h>
#include <conio.h>

int main()
{
    char c;
    int allowed;
    printf("Pick any:\n 1. one \n 2.two \n 3.three \n");

    c = getch();

    do{
      //getch();
      if (c = '1'){
        printf("ONE");
        allowed = 1;
      } else if (c = '2'){
        printf("TWO");
        allowed = 1;
      } else if (c = '3'){
        printf("THREEEEEE");
        allowed = 1;
      }else{
        printf("Choice was invalid, do it again:");
        allowed = 0;
      }
    }while (allowed = 0);

    return 0;

}

ただし、出力は常に出力されます: ONE、キーボードで何を押しても、デバッガーは、最初に許可された = 1 に到達し、do while ループの最後までスキップすることを示します。

理由を教えてもらえますか?

4

2 に答える 2