Mã sau đây cung cấp o/p kỳ lạ ngay sau khi tôi biên dịch nó.Tại sao chúng ta cần đặt khoảng trống trước% c?
main() {
char name[3];
float price[3];
int pages[3], i;
printf ("\nEnter names, prices and no. of pages of 3 books\n") ;
for (i = 0 ; i <= 2 ; i++)
scanf ("%c %f %d", &name[i], &price[i], &pages[i]);
printf ("\nAnd this is what you entered\n") ;
for (i = 0 ; i <= 2 ; i++)
printf ("%c %f %d\n", name[i], price[i], pages[i]);
}
Nhưng nếu chúng tôi đưa khoảng trắng trong báo cáo scanf trước% c, nó sẽ cung cấp đúng o/p.
Có ai vui lòng giải thích cho tôi lý do tại sao không?
Cập nhật: -
Nếu tôi cung cấp đầu vào như this-
F
123.45
56
J
134
67
K
145
98
sau đó câu hỏi của tôi là tại sao chúng ta không được đưa ra không gian trước% f và không gian trước% d? Tại sao chúng ta cần cung cấp khoảng trống trước% c?
Bạn đang đề cập đến '"% c "' nào? –
Và đầu ra thích hợp là gì? Đầu ra của chương trình là gì? –
@JeffMercado, đã cập nhật câu hỏi của tôi. Tôi đang nói về tuyên bố scanf. –