函数mycmp(char *s,char *t)的功能是比较字符串s和t的大小,当s等于t时返回0,当s>t时返回正值,

题目

函数mycmp(char *s,char *t)的功能是比较字符串s和t的大小,当s等于t时返回0,当s>t时返回正值,当s<t时返回负值,请填空。mycmp( char *s,char *t){ while (*s==*t) { if (*s==’\0’)return 0; ++s;++t; } return();}

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

第1题:

以下函数的功能是将两个字符串s和t连接起来,横线部分应该填写什么语句? void conj(char *s,char *t) { char *p=s; while(*s) _______; while(*t) {*s= *t;s++;t++ } *s='0'; }

A.*s

B.s

C.s++

D.s--


C 首先char*s接受一个字符型数组的首地址并将这个首地址赋给另一个字符型指针char*t,while(*t++)不断循环,直到*t为‘\\o’,再将t一1,这时字符指针t指向字符串的最后一个字符,又因为s指向字符数组的首地址即字符串的首地址,所以return(t--s)便是返回字符数组中字符串的长度。故本题答案为C)。

第2题:

以下函数的功能是将两个字符串s和t连接起来,横线部分应该填写什么语句? void conj(char *s,char *t) { char *p=s; while(*s) ; while(*t) {*s= *t;s++;t++ } *s='0'; }

A.*s

B.s

C.s++

D.s--


计算 s 所指字符串占用内存字节的个数

第3题:

(选做题)查找字符串。输入两个字符串s和t,在字符串 s中查找子串t,输出起始位置,若不存在则输出-1。要求自定义函数char *search(char *s,char *t)返回子串t的首地址,若未找到,则返回NULL。


正确

第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题:

下列给定程序中,函数fun()的功能是:从s所指字符串中,找出t所指字符串的个数作为函数值返回。例如,当s所指字符串中的内容为abcdabfab,t所指字符串的内容为ab,则函数返回整数3。

请改正程序中的错误,使它能得出正确的结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构.

试题程序:

include <conio.h>

include <stdio.h>

include <string.h>

int fun (char *s, char *t)

{int n; char *p, *r;

n=0;

while(*s)

{p=s;

r=t;

while (*r)

/**************found**************/

if(*r==*p) {r++; p++}

else break;

/*************found**************/

if(r=='\0')

n++;

s++;

}

return n;

}

main()

{char s[100], t[100]; int m;

clrscr();

printf("\nPlease enter string s: ");

scanf ("%s",s);

printf("\nPlease enter substring t: ");

scanf ("%s",t);

m=fun (s,t);

printf("\nThe result is: m=%d\n", m);

}


正确答案:(1)错误:if(*r==*p) {r++;p++} 正确:if(*r==*p) {r++;p++;} (2) 错误;if(r=='\0') 正确:if(*r=='\0')
(1)错误:if(*r==*p) {r++;p++} 正确:if(*r==*p) {r++;p++;} (2) 错误;if(r=='\0') 正确:if(*r=='\0') 解析:从字符串s中找出于串t的方法是:从第一个字符开始,对字符串进行遍历;若s串的当前字符等于t串的第1个字符,两字符串的指针自动加1,继续比较下一个字符;若比较至字符串t的结尾,则跳出循环;若s串的字符和t串的字符不对应相同,则继续对下一个字符进行处理。

第6题:

请编写一个函数int compare(char *s,char *t)), 该函数的功能是对两个字符串进行比较。当s所指字符串和t所指字符串相等时,返回值为0;当s所指字符串大于是t指字符串时,返回值大于0;当s所指字符串小于t所指字符串时,返回值小于0。

注意:部分源程序已存在文件PROC8.cpp中。

文件PROC8.cpp的内容如下:

//PROC8.cpp

include <iostream>

include <string>

using namespace std;

int compare(char *s,char *t)

{

//* * * * * * * * *

}

int main ()

{

char str1[100],str2[100];

int result;

cout<<"Input the first string\n";

cin>>str1;

cout<<"Input the second string\n";

cin>>str2;

result=compare(str1,str2);

if (result==0)

cout<<"string1=string2 ! \n";

else if (result>0)

cout<<"string1>string2 ! \n";

else

cout<<"string1<string2 ! \n";

return 0;

}


正确答案:

第7题:

函数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.

第8题:

函数my_cmp()的功能是比较字符串s和t的大小,当s等于t时返回0,否则返回s和t的第一个不同字符的ASCII码差值,即s > t时返回正值,当s < t时返回负值。请填空。

my_cmp(char *s, char *t)

{while (*s == *t)

{if (*s == ′\0′)return 0;

++s; ++t;

} return 【18】 ;

}


正确答案:
*s-*t

第9题:

以下与库函数strcmp(char *s, chat *t)的功能相等的程序段是()。

A.strcmp1(char *s, chat *t)

{ for ( ;*s++==*t++ ;)

if (*s=='\0') return 0

return (*s-*t)

}

B.strcmp2(char *s, char *t)

{ for( ;*s++==*t++ ;)

if (!*s) return0

return (*s-*t)

C.strcmp3(char *s, char *t)

{ for ( ;*t==*s ;)

{ if (!*t) return 0

t++

s++}

return (*s-*t)

}

D.strcmp4(char *s, char *t)

{ for( ;*s==*t;s++,t++)

if (!*s) return 0

return (*t-*s)

}


答案:C