通过scanf和->赋值的问题
求教,void getInput(struct Node *grade)//此处疑问,为什么scanf不能通过->直接给结构体中的value赋值
{
int num = 1;
printf("请输入学生%d姓名:",num);
scanf("%s",&grade->name);
printf("请输入成绩:");
scanf("%d",&grade->value);
printf("%d\n",grade->value);
}
->符号含义是,指向结构体成员并取其子数据,添加“&”取地址符号这样赋值的时候都可以赋值。
但是字符串赋值的时候,可以没有“&”取地址符号,也可以运行,而数值赋值时,没有“&”取地址符号就会退出程序,这是为什么? 它需要的是实参的地址,这样才能修改实参的数据,因为实参不会随形参的改变而改变 ok的,还不行把代码发出来
页:
[1]