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

admin2009-04-15  27

问题 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;

答案8

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

最新回复(0)