现有一个结构体typedef struct Train { int num_cars; int* cars; } Train;请帮我写一个子函数来输入num_cars和cars
时间: 2024-03-01 20:50:46 浏览: 129
C语言结构体(struct)常见使用方法(细节问题)
5星 · 资源好评率100%
好的,以下是一个用于输入 `num_cars` 和 `cars` 的子函数:
```c
void inputTrain(Train* train) {
printf("Enter number of train cars: ");
scanf("%d", &(train->num_cars));
train->cars = (int*)malloc(train->num_cars * sizeof(int));
printf("Enter train car numbers: ");
for (int i = 0; i < train->num_cars; i++) {
scanf("%d", &(train->cars[i]));
}
}
```
这个函数会提示用户输入火车车厢的数量 `num_cars`,然后根据 `num_cars` 动态分配一个大小为 `num_cars` 的 `int` 数组 `cars`,最后提示用户输入每个车厢的编号,并将其保存到 `cars` 数组中。注意,为了避免修改函数参数的值,我们使用指向结构体的指针 `train` 来传递结构体。
阅读全文