【发布时间】:2018-07-10 00:53:33
【问题描述】:
我正在尝试为我的一个结构打印一个字符串值,但它什么也没有打印出来,即使它可以编译。想知道是否有人可以帮助我指出我的功能哪里出了问题。
typedef struct {
char firstName[MAX_STR];
char lastName[MAX_STR];
int numVehicles;
VehicleType cars[MAX_VEHICLES];
} CustomerType;
void print_customer(CustomerType *c) {
printf("%s %s, \n", c->firstName, c->lastName);
}
CustomerType create_customer(char* fname, char* lname) {
CustomerType customer;
strcpy(customer.firstName, fname);
strcpy(customer.lastName, lname);
}
int main() {
CustomerType customers[MAX_CUSTOMERS];
customers[0] = create_customer("John", "Bob");
print_customer(&customers[0]);
return 0;
}
我认为我的问题是我没有在我的打印函数中正确调用字符串值。
【问题讨论】:
-
create_customer不会返回,这会导致从那里开始出现未定义的行为。打开编译器警告。 -
@deidei 谢谢!就是这样。
-
在发布有关运行时问题时,就像这个问题一样,发布minimal reproducible example,以便我们可以轻松地重现问题。