我最近被介绍到 struct ,在实验中,我遇到了一个我似乎无法找到解决方案的问题。
我想创建一个包含多个成员的结构,但我希望自动生成每个成员的名称,以避免手动执行此操作的繁琐过程。到目前为止,我有我的结构和功能,我想用它来创建一个成员。
STRUCT
struct Customers
{
char name[30];
int age;
}
原型
void newCustomer(Customers *Customer);
功能
void newCustomer(Customers *Customer)
{
char gender;
int age;
scanf_s("%c", 1, &gender);
scanf_s("%d", &age);
Customer->gender = gender;
Customer->age = age;
}
MAIN
int main()
{
int noOfCustomers;
int i = 0;
printf("How many customers will you be entering? : ");
scanf_s("%d", &noOfCustomers);
for(i = 0; i < noOfCustomers; i++)
{
Customers i;
newCustomer(&i);
}
return 0;
}
基本上我想做这样的事情......每个成员都会自动用ID或数字表示。我确实理解上面的例子是行不通的,因为 i 在循环中被本地声明为一个结构成员,而不是一个int,但我想知道是否有一种实现这一目的的方法。 / p>
提前感谢您的任何帮助:)
答案 0 :(得分:1)
您可以使用静态整数变量,调用itoa
将其转换为字符串,然后递增。