搜题
网友您好,请在下方输入框内输入要搜索的题目:
搜题
题目内容 (请给出正确答案)
提问人:网友hy673369825 发布时间:2022-01-07
[判断题]

对于指针函数,用return返回的值必须是一个指针值

参考答案
简答题官方参考答案 (由简答题聘请的专业题库老师提供的解答)
查看官方参考答案
网友提供的答案
位网友提供了参考答案,
查看全部
  • · 有5位网友选择 ,占比62.5%
  • · 有3位网友选择 ,占比37.5%
匿名网友[173.***.***.58]选择了
1天前
匿名网友[213.***.***.187]选择了
1天前
匿名网友[110.***.***.114]选择了
1天前
匿名网友[56.***.***.117]选择了
1天前
匿名网友[44.***.***.156]选择了
1天前
匿名网友[200.***.***.248]选择了
1天前
匿名网友[21.***.***.125]选择了
1天前
匿名网友[8.***.***.95]选择了
1天前
提交我的答案
登录提交答案,可赢取奖励机会。
更多“对于指针函数,用return返回的值必须是一个指针值”相关的问题
第1题
以下方法中,( )不能区分循环队列的满与空。

A、牺牲一个存储单元

B、设置一个标志变量

C、判断头尾指针相等

D、使用一个计数器

点击查看答案
第2题
有关赋值运算符重载函数operator =()的返回类型的叙述错误的是( )

A、返回类型为 Type,Type&都可以

B、返回类型为Type,且实现了++操作的重载,则可以如下应用。 Type t1=new Type(), t2; (t2=t1)++; 且后一句相当于 t2=t1; t2++;

C、返回类型为Type,则都可以有如下应用。 Type t1=new Type(), t2, t3; t3=t2=t1;

D、operator =操作重载的返回值可以是Type*

点击查看答案
第3题
阅读下列说明和C代码,将应填入(n)处的字句写在对应栏内。

【说明】

本题给出四个函数,它们的功能分别是:

1.int push(PNODE*top,int e)是进栈函数,形参top是栈顶指针的指针,形参e是入栈元素。

2.int pop(PNODE*top,int*e)是出栈函数,形参top是栈顶指针的指针,形参e作为返回出栈元素使用。

3.int enQueue(PNODE*tail,int e)是入队函数,形参tail是队尾指针的指针,形参e是入队元素。

4.int deQueue(PNODE*tail,int*e)是出队函数,形参tail是队尾指针的指针,形参e作为返回出队元素使用。

以上四个函数中,返回值为。表示操作成功,返回值为-1表示操作失败。

栈是用链表实现的;队是用带有辅助结点(头结点)的单向循环链表实现的。两种链表的结点类型均为:

typedef struct node {

int value;

struct node * next;

} NODE, * PNODE;

【函数1】

int push(PNOOE * top,int e)

{

PNODE p = (PNODE) malloc (sizeof (NODE));

if (! p) return-1;

p->value=e;

(1);

*top=p;

return 0;

}

【函数2】

int pop (PNODE * top,int * e)

{

PNODE p = * top;

if(p == NULL) return-1;

* e = p->value;

(2);

free(p);

return 0;

}

【函数3】

int enQueue (PNODE * tail,int e)

{ PNODE p,t;

t= *tail;

p = (PNODE) malloc(sizeof(NODE));

if(!p) return-1;

p->value=e;

p->next=t->next;

(3);

* tail = p;

return 0;

}

【函数4】

int deQueue(PNODE * tail,int * e)

{ PNODE p,q;

if((* tail)->next == * tail) return-1;

p= (* tail)->next;

q = p ->next;

* e =q ->value;

(4)=q->next;

if(,tail==q) (5);

free(q);

return 0;

}

点击查看答案
第4题
阅读下列函举说明和C代码,将应填入(n)处的字句写在对应栏内。

【说明4.1】

假设两个队列共享一个循环向量空间(如图1-2所示),其类型Queue2定义如下:

typedef struct {

DateType data [MaxSize];

int front[2],rear[2];

}Queue2;

对于i=0或1,front[i]和rear[i]分别为第i个队列的头指针和尾指针。函数.EnQueue (Queue2*Q,int i,DaleType x)的功能是实现第i个队列的入队操作。

【函数4.1】

int EnQueue(Queue2 * Q, int i, DateType x)

{ /*若第i个队列不满,则元素x入队列,并返回1;否则,返回0*/

if(i<0‖i>1) return 0;

if(Q->rear[i]==Q->front[(1)]

return 0;

Q->data[(2)]=x;

Q->rear[i]=[(3)];

return 1;

}

【说明4.2】

函数BTreeEqual(BinTreeNode*T1,BinTtneNode*T2)的功能是递归法判断两棵二叉树是否相等,若相等则返回1,否则返回0。函数中参数T1和T2分别为指向这两棵二叉树根结点的指针。当两棵树的结构完全相同,并且对应结点的值也相同时,才被认为相等。

已知二叉树中的结点类型BinTreeNode定义为:

struct BinTreeNode {

char data;

BinTreeNode * left, * right;

};

其中dau为结点值域,leR和risht分别为指向左、右子女结点的指针域,

【函数4.2】

int BTreeEqual(BinTreeNode * T1, BinTreeNode * T2)

{

if(Ti == NULL && T2 == NULL)return 1 /*若两棵树均为空,则相等*/

else if((4))return 0; /*若一棵为空一棵不为空,则不等*/

else if((5)) return 1; /*若根结点值相等并且左、右子树*/

/*也相等,则两棵树相等,否则不等*/

else return 0;

}

点击查看答案
第5题
阅读下列C函数和函数说明,将应填入(n)处的字句写在对应栏内。

【说明】

函数DeleteNode (Bitree *r, int e)的功能是:在树根结点指针为r的二叉查找(排序)树上删除键值为e的结点,若删除成功,则函数返回0,否则函数返回-1。二叉查找树结点的类型定义为:

typedef struct Tnode{

int data; /*结点的键值*/

struct Tnode *Lchild, *Rchild; /*指向左、右子树的指针*/

}*Bitree:

在二叉查找树上删除一个结点时,要考虑3种情况:

①若待删除的结点p是叶子结点,则直接删除该结点;

②若待删除的结点p只有一个子结点,则将这个子结点与待删除结点的父结点直接连接,然后删除结点p;

③若待删除的结点p有两个子结点,则在其左子树上,用中序遍历寻找关键值最大的结点s,用结点s的值代替结点p的值,然后删除结点s,结点s必属于上述①、②情况之一。

【函数】

int DeleteNode (Bitree *r,int e) {

Bitree p=*r,pp,s,c;

while ((1) ){ /*从树根结点出发查找键值为e的结点*/

pp=p;

if(e<p->data) p=p->Lchild;

else p=p->Rchild;

}

if(!P) return-1; /*查找失败*/

if(p->Lchild && p->Rchild) {/*处理情况③*/

s=(2);pp=p

while (3) {pp=s;s=s->Rchild;}

p->data=s->data; p=s;

}

/*处理情况①、②*/

if ((4) ) c=p->Lchild;

else c=p->Rchild;

if(p==*r) *r=c;

else if ((5) ) pp->Lchild=c;

else pp->Rchild=c;

free (p);

return 0;

}

点击查看答案
第6题
试题三(共15分)

阅读以下说明和C代码,填充代码中的空缺,将解答填入答题纸的对应栏内。

【说明1】

下面的函数countChar(char *text)统计字符串text中不同的英文字母数和每个英文字

母出现的次数(英文字母不区分大小写)。

【C代码1】

Int countchar(char*text)

{

int i,sum=O; /*sum保存不同的英文字母数*/

char *ptr;

int c[26]={0}; /*数组c保存每个英文字母出现的次数*/

/*c[0]记录字母A或a的次数,c[1]记录字母B或b的次数,依此类推*/

ptr=(1); /* ptr初始时指向字符串的首字符*/

while (*ptr) {

if (isupper (*ptr) )

c[*ptr一’A’]++;

else &39;

if (islower (*ptr) )

c[*ptr一’a’]++;

(2); /*指向下一个与字符*/

}

for (i=0. i<26; i++ )

If(3)sum++;

return sum;

}

【说明2]

将下面C代码2中的空缺补全后运行,使其产生以下输出。

f2: f2:f2:2

f3: f3:1

【C代码2]

include

int fl (int (*f) (int)) .

int f2 (int) ;

int f3 (int) ;

int main ()

{

Printf(“%d\n”,f1(4))

Printf(“%d\n”,f1(5))

return 0;

}

int fl(int (*f) (int) }

{

int n=O;

/*通过函数指针实现函数调用,以返回值作为循环条件*/

While(6) n++

return n;

}

int f2 (int n)

{

printf ("f2: ") ;

return n*n-4;

}

int f3 (int n)

{

printf ("f3: ") ;

return n-1

}

点击查看答案
第7题
有如下定义: int k=2; int *ptr1=&k,*ptr2=&k; 下面不能正确执行的赋值语句是________。(第7章 指针程序设计)

A、k=*ptr1+*ptr2;

B、ptr2=k;

C、ptr1=ptr2;

D、k=*ptr1*(*ptr2);

点击查看答案
第8题
【填空题】在【】位置填上正确的代码。程序功能:用指针实现一维数组的输入输出。
点击查看答案
第9题
若有如下定义: char s[20],*ps=s; 则,s[5]=ps[9]是一个正确的赋值语句。
点击查看答案
第10题
执行下面的程序后,将获得的输出结果是t,one。(第7章 指针程序设计) #include<stdio.h> int main() { char *s[]={"one","two","three"},*p; p=s[1]; printf("%c,%s\n",*(p+1),s[0]); return 0; }
点击查看答案
重要提示: 请勿将账号共享给其他人使用,违者账号将被封禁!
查看《购买须知》>>>
重置密码
账号:
旧密码:
新密码:
确认密码:
确认修改
购买搜题卡查看答案
购买前请仔细阅读《购买须知》
请选择支付方式
微信支付
支付宝支付
点击支付即表示你同意并接受《服务协议》《购买须知》
立即支付
搜题卡使用说明

1. 搜题次数扣减规则:

功能 扣减规则
基础费
(查看答案)
加收费
(AI功能)
文字搜题、查看答案 1/每题 0/每次
语音搜题、查看答案 1/每题 2/每次
单题拍照识别、查看答案 1/每题 2/每次
整页拍照识别、查看答案 1/每题 5/每次

备注:网站、APP、小程序均支持文字搜题、查看答案;语音搜题、单题拍照识别、整页拍照识别仅APP、小程序支持。

2. 使用语音搜索、拍照搜索等AI功能需安装APP(或打开微信小程序)。

3. 搜题卡过期将作废,不支持退款,请在有效期内使用完毕。

请使用微信扫码支付(元)

订单号:

遇到问题请联系在线客服

请不要关闭本页面,支付完成后请点击【支付完成】按钮
遇到问题请联系在线客服
恭喜您,购买搜题卡成功 系统为您生成的账号密码如下:
重要提示:请勿将账号共享给其他人使用,违者账号将被封禁。
发送账号到微信 保存账号查看答案
怕账号密码记不住?建议关注微信公众号绑定微信,开通微信扫码登录功能
警告:系统检测到您的账号存在安全风险

为了保护您的账号安全,请在“简答题”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!

- 微信扫码关注简答题 -
警告:系统检测到您的账号存在安全风险
抱歉,您的账号因涉嫌违反简答题购买须知被冻结。您可在“简答题”微信公众号中的“官网服务”-“账号解封申请”申请解封,或联系客服
- 微信扫码关注简答题 -
请用微信扫码测试
欢迎分享答案

为鼓励登录用户提交答案,简答题每个月将会抽取一批参与作答的用户给予奖励,具体奖励活动请关注官方微信公众号:简答题

简答题官方微信公众号

简答题
下载APP
关注公众号
TOP