fgets无法正常工作

时间:2014-02-20 21:50:44

标签: c arrays pointers struct

fgets无法正常工作。

typedef struct {
    int itemnumber;
    char name [50];
    double price;
    int stock;
    int discount;
    int reorder;
    int reorderquantity;
} item;


item x;
item *px[n];
px[n] = malloc(sizeof(item));

printf ("ENTER THE NUMBER OF ITEMS\n\n");
scanf ("%d",&n);


for (i=0; i<n; i++)
{
    px[i]=&x;
    scanf ("%d",&px[i]->itemnumber);
    fgets(px[i]->name,50,stdin);
    px[i]->name[strlen(px[i]->name)-1]='\0';
    // fflush(stdin);
    printf("%s",px[i]->name);
}    

1 个答案:

答案 0 :(得分:0)

你只需要一个实例。 你应该做px [n] = malloc(sizeof(item)* n);扫描后