程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。函数fun的功能是对形参b所指结构体变量中的数据进行修改,最后在主函数中输出修改后的数据。 例如:b所指变量t中的学号、姓名、和三门课的成绩依次是:10002、"ZhangQi"、9

admin2019-03-06  31

问题   程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。函数fun的功能是对形参b所指结构体变量中的数据进行修改,最后在主函数中输出修改后的数据。
    例如:b所指变量t中的学号、姓名、和三门课的成绩依次是:10002、"ZhangQi"、93、85、87,修改后输出t中的数据应为:10004、"LiJie"、93、85、87。
    请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
    注意:源程序存放在考生文件夹下的BLANK1.C中。
    不得增行或删行,也不得更改程序的结构!
#include
#include
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);
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);
printf("\n");
}

选项

答案(1)一>sno (2)一>name(3)&t

解析 函数fun的功能是对形参b所指结构体变量中的数据进行修改。
    第一空:“b【1】=10004;”等号右边是整型值,故这里是修改结构体成员sno的值,b是结构体指针,访问结构体数据成员时使用“->”运算符,因此,第一空为“b->sno”。
  第二空:“strcpy(b【2】,”LiJie”);”,strcpy是字符串拷贝函数,因此,这里是修改结构体的name成员值,故第二空处为“b一>name”。
    第三空:fun函数的定义形式是:void fun(structstudent *b),可知fun的参数是指针,因此,主函数内调用fun函数时传入的参数是结构体t的地址,故第三空处为“&t”。
转载请注明原文地址:https://jikaoti.com/ti/dkf0FFFM
0

随机试题
最新回复(0)