我想调用一个函数但是无法调用。我总是得到错误。该程序要求用户输入座位号:
scanf("%d", &seatNum);
输入座位号后,将调用此功能:
void SeatMakeEmpty(Seat* seat) {
strcpy((*seat).firstName, "empty");
strcpy((*seat).lastName, "empty");
(*seat).amountPaid = 0;
return;
}
如何调用该函数,firstName
和lastName
设置为“空”,amountPaid
为0?
答案 0 :(得分:1)
一个明显的问题是,您正在阅读这样的座位号:scanf("%d", &seatNum);
,这意味着,seatNum
是小数(因此是%d
),所以是一个数字。
但是,函数SeatMakeEmpty(Seat* seat)
请求类型为Seat
的指针参数!您必须传递正确的参数。在通话SeatMakeEmpty(&seatNum);
中,您传递的是指向int
的指针,而不是Seat
。所以在你的情况下,这意味着你必须:
seatNum
对应的正确座位。SeatMakeEmpty
的参数传递。