#include <stdio.h>
typedef struct pduct {char name[20];
int price;
int stock;} PRODUCT;
void init(PRODUCT * product)
{
printf("What is the name of the product: ");
fgets(product->name, 20, stdin);
printf("DEBUG: Did it get written...: %s", product->name);
printf("What is the current stock of the item: ");
scanf("%d", product->stock);
printf("What is the price of the new item: ");
scanf("%d", product->price);
}
int main()
{
PRODUCT products[5];
init(products);
return 0;
}
Теперь я немного растерялся, правда. После этого он запросит название продукта, распечатает его, чтобы я знал, что он сохранил его, а затем запросит сумму запаса, где он рухнет и вернет -1.
Понятия не имею, что происходит не так. Я пытался заменить fgets
на scanf
, просто чтобы быть уверенным, но происходит то же самое. Я предполагаю, что мой struct
настроен неправильно, но я не знаю как. Возможно, это массив char
? Кроме того, это всегда второй вход, независимо от того, как я их расположил. Так почему же первая работает так хорошо?
Спасибо за любую помощь!