我正在用C語言開發一個關於圖書館管理系統的迷你項目。但我在使用結構時遇到問題,我花了很多時間去理解,但我無法理解。不可預測的輸出
下面是一個代碼:
struct book
{
char name;
float price;
int pages;
}b1,b2,b3;
int main()
{
clrscr();
printf("Enter names,price & no.of pages of 3 books\n");
scanf("%c%f%d",&b1.name,&b1.price,&b1.pages);
scanf("%c%f%d",&b2.name,&b2.price,&b2.pages);
scanf("%c%f%d",&b3.name,&b3.price,&b3.pages);
printf(" %c %f %d",b1.name,b1.price,b1.pages);
printf(" %c %f %d",b2.name,b2.price,b2.pages);
printf(" %c %f %d",b3.name,b3.price,b3.pages);
getch();
return 0;
}
輸出:
Enter names,price & no.of pages of 3 books
a 3.3 2
b 2.2 3
a 0.000000 2
0.000000 0 b 0.000000 3
有兩個混淆:
- 爲什麼
scanf("%c%f%d",&b3.name,&b3.price,&b3.pages);
未執行? - 難以預測的輸出?
請採取適當縮進代碼的時間。如果你不能費盡心思編寫你的問題,爲什麼我們應該煩惱去閱讀它? – meagar 2013-02-19 18:21:32
你是什麼意思「無法正常訪問」? – 2013-02-19 18:21:41