массив структур, проблемы с выводом
Подскажите пожалуйста, почему не выводится на экран массив структур. Где-то что-то не доглядел?
#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;
};