(45)有以下程序
point(char*p)
{
p+=3;
}
main()
{charb[4]={'a','b','c','d'},*p=b;
point(p);printf("%c\n",*p);
}
程序运行后的输出结果是A
A)a
B)b
C)c
D)d
(46)程序中若有如下的说明和定义语句
charfun(char*);
main()
{
char*s="one",a[5]={0},(*f1)()=fun,ch;
……
}
以下选项中对函数fun的正确调用语句是A
A)(*f1)(a);
B)*f1(*s);
C)fun(&a);
D)ch=*f1(s)
(47)有以下结构体说明和变量定义,如图所示,指针pqr分别指向此链表中三个连续结点。
structnode
{
intdata;
structnode*next;
}*p,*q,*r;
现要将q所指结点从链表中删除,同时保持链表的连续,以下不能完成指定操作的语句是D
A)p->next=q->next;
B)p->next=p->next->next;
C)p->next=r;
D)p=q->next;
(48)以下对结构体类型变量td的定义中,错误的是C
A)typedefstructaa
{
intn;
floatm;
}AA;
AAtd;
B)structaa
{
intn;
floatm;
}td;
structaatd;
C)struct
{
intn;
floatm;
}aa;
structaatd;
D)struct
{
intn;
floatm;
}td;