有以下程序: struct STU { char name[10]; int num; float TotalScore; }; void f(struct STU *p) { struct STU s[2]={{"SunDan", 20044, 550}, {"Penghua", 20045, 537}}, *q=s; ++p; ++q; *p=*q; } main() { struct STU s[3]={{"YangSan", 20041, 703}, {"LiSiGuo", 20042, 580}}; f(s); printf(" % s % d % 3.0f\n", s[1]. name, s[1]. num, s[1]. TotalScore); } 程序运行后的输出结果是______。
A.SunDan 20044 580
B.Penghua 20045 537
C.LiSiGUO 20042 580
D.SunDan 20041 703
第1题:
下面的程序各自独立,请问执行下面的四个TestMemory 函数各有什么样的结果?
①void GetMemory(char * p)
{
p = (char * )malloc(100);
}
void TestMemory (void)
{
char *str = NULL;
GetMemory (str);
strcpy(str, "hello world");
prinff(str);
}
② char * GetMemory (void)
{
char p[ ] = "hello world";
return p;
}
void TestMemory (void)
{
char * str = NULL;
str = GetMemory( );
printf(str);
}
③void GetMemory(char * * p, int num)
{
* p = (char * )malloc(num);
}
void TestMemory (void)
{
char * str = NULL;
GetMemory(&str, 100);
strcpy( str, "hello" );
printf(sir);
}
④void TestMemory (void)
{
char *str = (char * )malloe(100);
strepy (str, "hello" );
free ( str );
if(str ! = NULL)
{
strepy( str, "world" );
printf(str);
}
}
第2题:
设有以下结构体定义及初始化,表达式p->score的结果是()。 struct node { int num; float score; }stu[2]={101,91.5,102,92.5},*p=stu; A)101 B)91.5 C)102 D)92.5
A.分析错误#B.该定义使stu[0].num=101,stu[0].score=91.5,stu[1].num=102,stu[0].score=92.5,p指向数组stu的首地址,p->score的值是stu[0].score。#C.分析错误#D.分析错误第3题:
7、若能使程序运行后的输出结果如下: 201501 201502 201503 则空白处填写的表达式或语句应该是 #include <stdio.h> struct student { int age; char num[8]; }; int main() { struct student stu[3]={{20,"201501"},{21,"201502"},{19,"201503"}}; struct student *p=stu; ____________________ return 0; }
A.printf("%s\n",(*p).num); printf("%s\n",(p)->num); printf("%s\n",stu[2].num);
B.printf("%s\n",(p++).num); printf("%s\n",(p++).num); printf("%s\n",(p++).num);
C.printf("%s\n",(p)->num); printf("%s\n",(p)->num); printf("%s\n",(*p).num);
D.printf("%s\n",stu[0]->num); printf("%s\n",stu[1]->num); p
第4题:
若能使程序运行后的输出结果如下: 201501 201502 201503 则空白处填写的表达式或语句应该是 #include <stdio.h> struct student { int age; char num[8]; }; int main() { struct student stu[3]={{20,"201501"},{21,"201502"},{19,"201503"}}; struct student *p=stu; ____________________ return 0; }
A.printf("%sn",(*p).num); printf("%sn",(p)->num); printf("%sn",stu[2].num);
B.printf("%sn",(p++).num); printf("%sn",(p++).num); printf("%sn",(p++).num);
C.printf("%sn",(p)->num); printf("%sn",(p)->num); printf("%sn",(*p).num);
D.printf("%sn",stu[0]->num); printf("%sn",stu[1]->num); printf("%sn",stu[2]->num);
第5题:
【单选题】以下结构体的定义语句中,正确的是______。
A.struct student {intnum; char name[10];int age;};stu;
B.struct {int num;char name[10];int age;}student; struct studentstu;
C.struct student {int num; char name[10];int age;}stu;
D.struct student {int num; char name[10]; int age;}; student stu;
第6题:
以下结构体的定义语句中,正确的是______。
A.struct student {int num; char name[10];int age;};stu;
B.struct {int num; char name[10];int age;}student; struct student stu;
C.struct student {int num; char name[10];int age;}stu;
D.struct student {int num; char name[10]; int age;}; student stu;