数据结构里,以下字符串处理函数中,返回值不是char的是()。

题目
多选题
数据结构里,以下字符串处理函数中,返回值不是char的是()。
A

strcat

B

strcmp

C

strcpy

D

strlen

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

函数check()用来判断字符串s是否是“回文”(顺读和倒读都一样的字符串称为“回文”,如abcba)。若是回文,函数返回值为1;否则返回值为0。请完成此函数的定义。

注意:部分源程序已存在考生文件夹的文件PROC7.cpp中。

请勿修改主函数和其他函数中的任何内容,仅在函数check()的花括号中填写若干语句。

文件PROC7.cpp的内容如下:

//PROC7.cpp

include<iostream>

include<string>

using namespace std;

int check(char*s);

int main()

{

char str[100],*p;

cout<<"Input your string!";

cin>>str;

p=str;

cout<<"The result is:"<<check(p)<<end1;

}

int check(char*s)

{

// * * * * + * * *

}


正确答案:

第2题:

已知strcpy 的函数原型:char *strcpy(char

*strDest, const char *strSrc)其中strDest 是目的字符

串,strSrc 是源字符串。不调用C++/C 的字符串库

函数,请编写函数strcpy。


正确答案:

 

char *strcpy(char *strDest, const char *strSrc)
{
if ( strDest == NULL || strSrc == NULL)
return NULL ;
if ( strDest == strSrc)
return strDest ;
char *tempptr = strDest ;
while( (*strDest++ = *strSrc++) != ‘\0’)
;
return tempptr ;
}

第3题:

以下函数 fun 的功能是返回 str 所指字符串中以形参 c 中字符开头的后续字符串的首地址 , 例如 : st r所指字符串为 : Hello! , c 中的字符为 e ,则函数返回字符串 : ello! 的首地址。若 str 所指字符串为空串或不包含 c 中的字符,则函数返回 NULL 。请填空。

char *fun(char *str,char c)

{ int n=0; char *p=str;

if(p!=NULL)

while(p[n]!=c&&p[n]!='\0') n++;

if(p[n]=='\0') return NULL;

return( 【 1 2 】 );

}


正确答案:
(12) 【 12 】 p+n
解析 : n++ 到一定数值 , 就找到所指的字符 , 返回 c 的地址。

第4题:

函数strcmp( )的功能是对两个字符串进行比较,当s所指字符串和t所指字符串相等时,返回值为0;

当s所指字符串大于t所指字符串时,返回值大于0;当s所指字符串小于t所指字符串时,返回值小于

0(功能等同于库函数strcmp( ) ),请填空。

include <stdio.h>

int strcmp ( chat * s, char * t)

{ while( * s && * t && * s=【 】

{ s++;t++; }

return 【 】;

}


正确答案:* 或t[0] * s- *t 或 * s-t[0]或s[0]- * t或s[0]-t[0]
* 或t[0] * s- *t 或 * s-t[0]或s[0]- * t或s[0]-t[0] 解析:对字符串比较的方法是依次对两字符串对应位置上的字符两两比较,当出现第一对不相同的字符时,即由这两个字符(ASCⅡ码值)决定所在串的大小。

第5题:

编写一个函数findStr(char*str,char*substr),该函数统计一个长度为2的子字符串substr在另一个字符串str中出现的次数,该次数作为函数值返回。例如,假定输入的字符串为”asd asasdfg asd as zx67 asdmklo”,子字符串为”as”,函数返回值是6。 函数ReadWrite实现从文件in.dat中读取两个字符串,并调用函数findStr,最后把结果输出到文件out.dat中。 注意:部分源程序存在test.c文件中。请勿改动主函数main和其他函数中的任何内容,仅在函数findStr的花括号中 填入你编写的若干语句。


正确答案:
【审题关键句】统计一个长度为2的子字符串在另一个字符串中出现的次数。
【解题思路】
①定义字符指针p,q,并且q指向字符串str。定义计数整型变量cnt,设置其值等于0。
②在while循环中调用C语言的字符串库函数strstr,返回子字符串substr在字符串q第一次出现的位置,赋给变量P。用if语句判断,如果p的值为空,则说明在字符串str没有找到子字符串,退出循环。否则,变量cnt加1,再把P的值加2(因为子字符串substr的长度为2)赋给变量q,执行下一次循环。直到字符串中不存在子字符串时,退出循环结束。
③最后,返回子字符串substr在字符串str中出现的次数。
【参考答案】

第6题:

以下函数fun的功能是返回str所指字符串中以形参c中字符开头的后续字符串的首地址,例如,str所指字符串为Hello!,c中的字符为e,则函数返回字符串ello!的首地址。若str所指字符串为空或不包含c中的字符,则函数返回NULL,请填空。char *fun(char *str,char c){ int n=0; char *p=str; if(p!=NULL) while(p[n]!=c&&p[n]!=’\0’) n++; if(p[n]==’\0’) return NULL; return();}


正确答案:p+n
在本题中,函数fun的功能是返回str所指字符串中以形参c中字符开头的后续字符串的首地址。
在本题的程序中,fun函数带有两个形参,其中一个是指针str,它指向字符串的首地址,另一个是字符变量c。程序首先定义了一个整型变量n,从程序中可知,它是字符串str中参数c相对于首地址的偏移量,然后定义了一个指针变量p,指向字符串str的首地址,然后执行条件语句,如果字符串不为空,则执行循环语句,循环结束的条件是要么字符串结束,要么找到形参c中对应的字符。根据循环结束的条件我们可以判断,其非死循环,循环结束后,从程序中可以看出,判断循环结束的原因是否因为字符串结束而结束的,如果是,说明没找到形参c中对应的字符,返回NULL。
如果不是,则说明是因为找到了形参c中对应的字符而结束循环的。根据题目要求,需要返回以形参c中字符开头的后续字符串的首地址,而这时以形参c中字符开头的后续字符串的首地址为p+n。

第7题:

编写 strcpy函数

已知 strcpy函数的原型是

char *strcpy(char *strDest, const char *strSrc);

其中 strDest 是目的字符串,strSrc 是源字符串。

(1)不调用 C++/C 的字符串库函数,请编写函数 strcpy

(2)strcpy能把 strSrc 的内容复制到 strDest,为什么还要 char * 类型的返回值?


正确答案:
 

第8题:

函数sstrcmp()的功能是对两个字符串进行比较。当s所指字符串和t所指字符串相等时,返回值为0;当s所指字符串大于t所指字符串时,返回值大于0;当s所指字符串小于t所指字符串时,返回值小于0(功能等同于库函数strcmp()),请填空。#include<stdio.h>int sstrcmp(char *s,char *t){ while(*s&&*t&&*s= =){s++;t++; }return;}


正确答案:*t或t[0] *s-*t或*s-t[0]或s[0]-*t或s[0]-t[0]
当s所指字符和t所指字符不等时,退出循环;否则继续执行循环。当发现不等时,返回*s-*t,即如果s所指字符大于t所指字符,则返回值大于0,小于则返回值小于0.

第9题:

函数fun的返回值是______。 fun(char *a,char*b) { int num=0,n=0; while( *(a+num)!='\0')num++; while(b[n]) {*(a+num)=b[n];num++;n++; } return num; }

A.字符串a的长度

B.字符串b的长度

C.字符串a和b的长度之差

D.字符串a和b的长度之和


正确答案:C
解析:本题首先通过第一个while循环计算字符串a的长度,再通过第二个while循环,将字符串a和b相连,最后返回连接后的总长度。

第10题:

数据结构与算法里,函数的返回值必须由return语句返回。


正确答案:正确

更多相关问题