Stdin结构问题

时间:2011-05-21 16:00:33

标签: c struct scanf

struct x_firm
{
    char name[50];
    double lPrice;
    char EIK[14];

    int day;
    int month;
    int year;

};

typedef struct x_firm Firm;

我在填充结构数据时遇到问题

printf("Enter firm name:");
scanf("%50s",&firm->name);
printf("Enter firm EIK:");
scanf("%13s",&firm->EIK);
printf("Enter firm last 5 years price:");
scanf("%f",&firm->lPrice);
printf("%f\n",firm->lPrice);
printf("Enter registration date[dd.mm.yyyy]:");
scanf("%2d.%2d.%4d", &firm->day, &firm->month, &firm->year);

问题是lPrice变量没有初始化,我不知道为什么! 请帮忙!

1 个答案:

答案 0 :(得分:5)

lPricedouble,而不是float。使用%lf格式化程序。

scanf("%lf",&firm->lPrice);