struct book{
char name;
float price;
int pages;
};
struct book b[4];
int i;
for(i=0;i<4;i++){
printf("Enter name, price and pages in the book:\n");
scanf("%c %f %d", &b[i].name, &b[i].price, &b[i].pages);
}
, когда я запускаю приведенный выше код, он запрашивает все три переменные только в первой итерации, а для следующей итерации и далее я могу ввести только первое значение (т. Е. Char). Я знаю, что здесь что-то не так с переменной float, так как я получаю случайные огромные значения при попытке ее отобразить. Как мне решить и что на самом деле происходит?
Я использую g cc на linux.
Подробное объяснение приветствуется. Спасибо.