Я не могу найти ошибку в этой программе на C.Невозможно найти ошибку в этой программе на C
#include <stdio.h>
int main()
{
struct book
{
char name ;
float price ;
int pages ;
} ;
struct book b[3] ;
int i ; int k;
for (i = 0 ; i <= 2 ; i++)
{
printf ("\nEnter name, price and pages: ") ;
k = scanf ("%c %f %d", &b[i].name, &b[i].price, &b[i].pages) ;
}
for (i = 0 ; i <= 2 ; i++)
printf ("\n%c %f %d", b[i].name, b[i].price, b[i].pages) ;
//getch();
return 0;
}
Время работы:
Enter name, price and pages: a 1 1
Enter name, price and pages: b 2 2
Enter name, price and pages:
a 1.000000 1
7922540190797673100000000000000000.000000 4200368
b 2.000000 2
Я хотел дать a 1 1
, b 2 2
, c 3 3
как мои входы для каждого scanfs, но не ждать моего входа в 3 зсапЕ. Почему так? и почему он прочитал мой второй вход во второй элемент массива elementof?
И теперь вы обнаруживаете, почему NOBODY использует scanf. –
@Paul Tomblin: Потрясенный! NOBODY использует scanf ?? Зачем?? Что именно здесь происходит. Что мне здесь не хватает? – 2010-07-31 14:47:05
@walter Никто не использует scanf для обработки данных от людей. – 2010-07-31 14:57:16