结构体指针引用成员变量,怎么用scanf给成员变量赋值?

#include struct student { char name[20]; int score[3]; }student1; void Display(struct student*p,int j) { int i; scanf("%s",&(p->name)); for(i=0;iscore)[i]); }; } int main() { struct student*v; Display(v,3); return 0; }

#include "stdio.h"

struct student { 
	char name[20]; 
	int score[3]; 
}student1; 
void Display(struct student *p,int j) {
	 int i; 
	 scanf("%s",&p->name); 
	 fflush(stdin);
	 for(i=0;i<j;i++){
	 	scanf("%d",&p->score[i]); 
	 }
	 printf("%s,%d,%d,%d",p->name,p->score[0],p->score[1],p->score[2]);
} 
int main() { 
	struct student *v = (struct student*)malloc(sizeof(struct student)); 
	Display(v,3); 
	return 0; 
}

 

#include "stdlib.h"
struct student { 
	char name[20]; 
	int score[3]; 
}student1; 
void Display(struct student *p,int j) {
	 int i; 
	 for(i=0;i<j;i++)
	 {
		 scanf("%s",p[i].name); 
	 	 scanf("%d %d %d",&p->score[0],&p->score[1],&p->score[2]); 
	 }
	 for(i=0;i<j;i++)
		 printf("学生姓名:%s,成绩:%d,%d,%d\n",p[i].name,p->score[0],p->score[1],p->score[2]);
} 
int main() { 
	int n;
	scanf("%d",&n); //输入学生数量
	struct student *v = (struct student*)malloc(sizeof(struct student)*n); 
	Display(v,n); 

	return 0; 
}

 

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^