struct Student {
char name[10];
};
void set(struct student *s,const char *n)
{
s->name=n; // this line is showing error(incompatible types in assignment)
}
int main()
{
struct Student stud;
char name[]="abc";
set(&stud,name);
}
这一行
s->name=n;
显示不兼容分配的编译时错误。 如何将使用函数传递的名称赋值给结构变量。
答案 0 :(得分:3)
您需要使用strcpy
来复制字符串,所以
strcpy(s->name,n);
并改变
void set(struct student *s,const char *n)
到
void set(struct Student *s,const char *n)
^
capital S
答案 1 :(得分:2)
s->name
是一个数组,它不能是=
的左操作数。请改用strcpy
。