В комментариях упоминается несколько ошибок, в дополнение к исправлению этих ошибок, следующее должно помочь вам достичь того, что вы хотите сделать.
Чтобы получить код для отображения индекса, возможно, изменитеобъявление displayPlant
, чтобы также взять индекс:
displayPlant(struct Plant *x, int index)
, а затем передать индекс, который у вас есть в main, функции, такой как
displayPlant(totalPlants[index], index);
Тогда, конечно, вы должны изменить свое выражение printf на что-то вроде:
printf("Plant ID %d (index: %d) which costs $%.2lf and the color is %s\n", x->plantID, index, x->price, x->color);
РЕДАКТИРОВАТЬ: я также должен сказать, что инициализация вашего индекса в-1
- плохая идея, потому что она приведет к ошибкам сегмента, если ваш код не содержит проверки на наличие индекса> = 0.
Дополнительно добавьте это index = i;
или index = 0
здесь, в вашемкод:
if (length > 0)
{
lowest = x[i].price;
index = i; //here
}