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

题目

函数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Ⅱ码值)决定所在串的大小。
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

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

第2题:

有以下函数 int fun(char *s) { char *t=s; while(*t++); return(t-s); } 该函数的功能是

A.比较两个字符串的大小

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

C.计算s所指字符串的长度

D.将s所指字符串复制到字符串t中


正确答案:B
解析:循环语句while(*t++);执行完时,指针变量t就指向了字符中结束符‘\o’之后的位置,所以语句return(t-s);返回的就是字符串s所用内存的字节个数。

第3题:

有以下函数

int fun(char *s)

{ char *t=s;

while(*t++);

return(t-s);

}

该函数的功能是

A) 比较两个字符 串 的大小

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

C) 计算 s 所指字符串的长度

D) 将 s 所指字符串复制到字符串 t 中


正确答案:B

第4题:

有以下函数:fun(char * a,char *b){ while((*a! ='\0')&&( * b! :'\0')&&( *a== *b)) {a++;b++;} return( *a-*b);} 该函数的功能是( )。

A.将b所指字符串连接到a所指字符串中

B.计算a和b所指字符串的长度之差

C.将b所指字符串连接到a所指字符串后面

D.比较a和b所指字符串的大小


正确答案:D
解析:两个字符串的比较是从左至右对两个字符串对应位置上的字符逐个进行比较,即按其ASCII码值的大小比较,直到出现不同的字符或遇到,'\0'为止。若全部字符都相同,则两个字符串相等,返回0;若出现不相同的字符,则返回第一个不相等字符的ASCII码的差值。fun函数实现了该功能。

第5题:

阅读以下函数fun(char *sl,char *s2){ int i=0;while(sl[i]==s2[i]&&s2[i]!='\0') i++;return(sl[i]=='\0'&&s2[i]=='\0');}此函数的功能是

A.将s2所指字符串赋给s1

B.比较s1和s2所指字符串的大小,若s1比s2的大,函数值为1,否则函数值为0

C.比较s1和s2所指字符串是否相等,若相等,函数值为1,否则函数值为0

D.比较s1和s2所指字符串的长度,若s1比s2的长,函数值为1,否则函数值为0


正确答案:C

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

s1和s2已正确定义并分别指向两个字符串。若要求:当s1所指字符串大于s2所指字符串时,执行语句S;则以下选项中正确的是( )。

A.if(sl>s2)S;

B.if(strcmp(s1,s2))S;

C.if(strcmp(s2,s1>0)S;

D.if(strcmp)(s1,s2)>0)S;


正确答案:D
解析:在C语言中字符串的比较用strcmp()函数,该函数有两个参数,分别为被比较的两个字符串。如果第一个字符串大于第二个字符串返回值大于0,若小于返回值小于0,相等返回值为0。字符串比较大小的标准是从第一个字符开始依次向右比较,遇到某一个字符大,该字符所在的字符串就是较大的字符串,如果遇到某一个字符小,该字符所在的字符串就是较小的字符串。本题中要求当s1所指字符串大于s2所指字符串时,执行语句s,因此应该为strcmp(s1,s2)>0或者strcmp(s2,s1)0,所以,4个选项中选项D符合题意。

第8题:

下列函数的功能是

fun(char *a,char *b)

{ while((*b=*a)!= '\0') {a++,b++;} }

A) 将 a 所指字符串赋给 b 所指空间

B) 使指针 b 指向 a 所指字符串

C) 将 a 所指字符串和 b 所指字符串进行比较

D) 检查 a 和 b 所指字符串中是否有 '\0'


正确答案:A

第9题:

阅读以下函数 fun(char *sl,char *s2) { int i:0; while(sl[i]==s2[i]&&s2[i]!='\0') i++; return(sl[i]=='\0'&&s2[i]=='\0'); } 此函数的功能是

A.将s2所指字符申赋给s1

B.比较s1和s2所指字符串的大小,若s1比s2的大,函数值为1,否则函数值为0

C.比较s1和s2所指字符串是否相等,若相等,函数值为1,否则函数值为o

D.比较s1和s2所指字符串的长度,若s1比s2的长,函数值为1,否则函数值为o


正确答案:C
解析:在函数fun()中有两个字符型指针变量s1和s1,在函数中程序执行while循环,该循环退出条件有两个:一个是s1[i]!=s2[i](两个字符串不相等);第二个是sl[i]和s2[i]相等均为“\0”(两个字符串相等)。循环退出后,执行return语句,即两个字符串相等则返回1,不相等则返回0。所以,C选项为所选。

第10题:

有以下函数 fun(char *a, char *B) { while((*a!='\0')&&(*b!='\0')&&(*a==*B) ) { a++; b++;} return(*a-*B) ; } 该函数的功能是

A.计算a和b所指字符串的长度之差

B.将b所指字符串复制到a所指字符串中

C.将b所指字符串连接到a所指字符串后面

D.比较a和b所指字符串的大小


正确答案:D
解析:本题要求阅读的代码是一个函数,阅读之前先要看清函数的定义,该函数有两个参数,都是字符指针,这说明它接收的是两个字符串.该函数没有定义返回类型,C语言规定函数的返回类型为int时可以省略,所以切不可将其看成是无返回类型的void型函数,它是int型函数。函数体中除了返回语句外,只有一条while循环语句,该循环的循环条件为(*a!='\'0}&&(*b!='\0')&&(*a==*B),即当a和b所指处都不是字符结束符'\0'并且a和b所指处的内容相等时执行循环。而循环体中只是简单地将指针a和b同时往后移动1位。循环结束后返回a所指内容减去b所指内容的差。换个角度去考虑,也就是说当字符串a或b中有一个结束了或者是它们的相同位置中有一个字符不同时,则返回该位置两个字符之差。若两者长度相同而且所有对应字符都相同的话,最后返回的是'\0\-'\0'=0,否则的话就返回两个字符串第一对不相同的字符之差.这时应该可以看出来,这个函数实现的是对两个字符串的比较。所以,4个选项中D正确。

更多相关问题