我的问题似乎总是与使用函数有关。它仍然让我困惑!在这本教科书练习中,我被要求按值传递结构,然后调整它并通过引用传递。最初我设计了代码,以便在main中完成所有工作。现在我正在路过价值。所以我添加了新功能,我想我正确地传递了结构,但是我收到了错误 void function1(struct Inventory inv){告诉我参数1(inv)的类型不完整。请帮忙!
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
void function1(struct Inventory inv);
struct Inventory{
char name[20];
int number;
float price;
float total;
}
void main(){
items;
void function1(items);
float total = items.number*items.price;
printf("Item\tNumber\tPrice\tTotal\tAddress of number\n");
printf("%s\t%d\t%.2f\t%.2f\t%X\n\n",items.name,items.number,items.price,total,&items.number);
getch();
}
void function1(struct Inventory inv) {
printf("Enter the name of the item: ");
scanf("%s", inv.name);
printf("Enter the number of items: ");
scanf("%d", &inv.number);
printf("Enter the price of each item: ");
scanf("%f", &inv.price);
}
答案 0 :(得分:1)
在函数原型中使用之前,必须先定义结构。
struct Inventory{
char name[20];
int number;
float price;
float total;
}items;
void function1(struct Inventory inv);