填空题 程序通过定义学生结构体变量,存储了学生的学号、姓名和三门课的成绩。函数fun的功能是列形参b所指结构体变量中的数据进行修改,最后在主函数中输出修改后的数据。
例如:b所指变量t中的学号、姓名和三门课的成绩依次是:10002、"ZhangQi"、93、85、87,修改后输出t中的数据应为:10004、"LiJie"、93、85、87。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
不得增行或删行,也不得更改程序的结构!
给定源程序:
#include<stdio.h>
#include<string.h>
struct student{
long sno;
char name[10];
float score[3];
};
void fun(struct student *b)
{
/**********found**********/
b 1=10004;
/**********found**********/
strcpy(b 2,"LiJie");
}
main()
{struct student t={10002,"ZhangQi",93,85,87};
int i;
printf("/n/nThe original data:/n");
printf("/nNo:%ld Name:%s/nScores:",t.sno,t.name);
for(i=0;i<3;i++)printf("%6.2f",t.score[i]);
printf("/n");
/**********found**********/
fun( 3);
printf("/nThe data after modified:/n");
printf("/nNo:%ld Name:%s/nScores:",t.sno,t.name);
for(i=0;i<3;i++)printf("%6.2f",t.score[i]);
printf("/n");
}
【正确答案】
【答案解析】(1)->sno (2)->name (3)&t [考点] 本题考查:结构变量成员的表示方法;strcpy函数;函数调用。
[解析] 填空1:给b所指结构体变量学生学号赋值。
填空2:通过strcpy字符串拷贝函数修改b所指结构体变量学生姓名。
填空3:由于函数fun的形参是指针型变量,所以在main中调用函数fun的参数应为指针或地址。