Приведение к типу enum приводит к ошибочным значениям в C - PullRequest
0 голосов
/ 23 ноября 2018

У меня есть перечисление my_enum, определенное следующим образом:

typedef enum {
  A = 'A',
  B = 'B',
  C = 'C',
} my_enum;

Теперь я пытаюсь прочитать значение из stdin в переменную типа my_enum:

my_enum data;
scanf("%c", (char*)&data);

Интересно то, что иногда , значение приводится правильно, но иногда я случайные числовые значения.

Не могли бы вы объяснить, почему это происходит и как это можно решить?Спасибо.

...