массив структур, проблемы с выводом

Подскажите пожалуйста, почему не выводится на экран массив структур. Где-то что-то не доглядел?

#include<stdio.h>

struct MURSH {
  char from;
  char destination;
  int number;
};
void StructIntroduce(struct MURSH a[], int n) {
  int i;
  for (i = 0; i < n; i++) {
    puts("\nENTER FROM: \n");
    scanf("%s", & a[i].from);
    puts("\nENTER DESTINATION: \n");
    scanf("%s", & a[i].destination);
    puts("\nENTER ROUTE NUMBER: \n");
    scanf("%i", & a[i].number);
  }
}
void StructOutputByNumber(struct MURSH a[], int n) {
  for (int i = 0; i < n; i++) {
    printf("FROM: %s DESTINATION: %s ROUTE NUMBER: %i", a[i].from, a[i].destination, a[i].number);
  }
}
int main() {
  int n = 3;
  struct MURSH a[n];
  StructIntroduce(a, n);
  StructOutputByNumber(a, n);
}

Ответы (1 шт):

Автор решения: Alexey Anastasyev

Поля структуры имеют тип char, то есть одиночные символы. А в консоль должны выводиться массивы символов. Поэтому целесообразно изменить поля структуры следующим образом:

#define MAX_VALUE 100 // максимальное число символов полей from и destination

struct MURSH {
  char from[MAX_VALUE];
  char destination[MAX_VALUE];
  int number;
};
→ Ссылка