我在编译C语言函数对结构体赋值 在最后输出过程中遇到了如下问题 请求解答一下 十分感谢!
你定义的结构体ro不是结构体数组,不能使用ro[],我想你应该是想使用结构体中的name数组,那你可以这么写
ro.name[n]
#include <stdio.h>
struct Roll
{
char name[100];
int age;
};
int main()
{
void InputRoll(struct Roll pro[], int i);
void OutputRoll(struct Roll ro[], int a);
int len;
printf("请输入角色个数:");
scanf("%d", &len);
struct Roll ro[len], * p = ro;
InputRoll(p, len);
OutputRoll(p, len);
return 0;
}
void InputRoll(struct Roll ro[], int len)
{
int i;
for(i=0; i<len; i++)
{
printf("请输入角色信息:\n");
printf("name = ");
scanf("%s", &ro[i].name);
printf("age = ");
scanf("%d", &ro[i].age);
}
}
void OutputRoll(struct Roll ro[], int len)
{
int i;
for(i=0; i<len; i++)
{
printf("第%d个角色的信息:\n", i+1);
printf("age = %d\n", ro[i].age);
printf("name = %s\n", ro[i].name);
}
}