Присвоить целочисленное значение символу - PullRequest
0 голосов
/ 19 февраля 2019

Каков наилучший способ взять пользовательский ввод символа и преобразовать его в определенное число?Затем сохраните это число в массиве.У меня есть фрагмент кода, который я переписывал несколько раз, и до сих пор не смог заставить его работать.

printf("Row: ");
scanf("%d",&fire[0]);
fire[0]--;

Я хотел бы принять ввод букв от пользователя и написатьцелое число в массив огня в качестве значения.Пример (A = 1, B = 2, C = 3 ...)

1 Ответ

0 голосов
/ 19 февраля 2019

Вы хотите прочитать символ и преобразовать его в смещение от A + 1:

int fire[10];
char ch;
printf("Row: ");
if (scanf(" %c", &ch) != 1) {
    /* end of file */
    return 1;
}
if (ch >= 'A' && ch <= 'Z') {  /* assuming ASCII */
    fire[0] = ch - 'A' + 1;  /* A -> 1, B -> 2, etc. */
} else {
    /* not an uppercase letter */
}
...