为什么我的浮点数打印为0,即使我使用scanf输入13.5?

Mor*_*oam 6 c scanf

我无法弄清楚为什么我的浮点变量在输入数字时保持打印输出为0.

码:

int num, month, day, year;
float price[10000];


printf("Enter item number: \n");
scanf("%d", &num);
printf("Enter unit price: \n");
scanf("%f", &price);
printf("Enter purchase date (mm/dd/yyyy): \n");
scanf("%d/%d/%d", &month, &day, &year);

printf("Item\t\tUnit\t\tPurchase\n");
printf("    \t\tPrice\t\tDate\n");
printf("%d      ", num);
printf("$%.2f     ", price); 
printf("      %d/%d/%d\n", month, day, year);
return 0;
Run Code Online (Sandbox Code Playgroud)

我为我的商品编号输入555,为我的价格输入13.5,为我的日期输入10/24/2010.当我这样做时打印出我的价格是0.00美元.它为我输入的任何数字执行此操作.为什么?

Riz*_*123 2

只需更改此:

float price[10000];
Run Code Online (Sandbox Code Playgroud)

对此:

float price;
Run Code Online (Sandbox Code Playgroud)

因为您将它用作单个变量而不是数组