Я делаю некоторую работу для Uni и написал программу, которая хранит целые числа в массиве символов, преобразует их в их значения ASCII и печатает их в конце. Мой код не работал раньше и только начал работать, когда я изменил «% c» на «% i» в моей строке scanf. Мой вопрос: почему это должен быть "% i", когда я хочу хранить эти числа в массиве char, а не в массиве Int. Спасибо!
Мой код:
#include <stdio.h>
int main()
{
int i; /counter
char numbers[12];
printf("Please enter 12 Numbers\n");
for(i = 0; i < 12; i++){
printf("please enter the %i. Number\n", i+1);
scanf("%i", &numbers[i]);// <-- changed "%c" to "%i" and it worked.why?
}
for(i = 0; i < 12;i++){
printf("The %i.ASCII value is %i and has the Char %c\n", i+1, numbers[i], numbers[i]);
}
return 0;
}