itgle.com

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;

题目

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;


相似考题
更多“s1和s2已正确定义并分别指向两个字符串。若要求:当s1所指字符串大于s2所指字符串时,执行语句S;则 ”相关问题
  • 第1题:

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

    A.if(s1 > s2) S;

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

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

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


    正确答案:D
    解析:字符串的比较不能直接用关系运算符,可用字符串比较函数strcmp(char.s1,char*s2)实现,其比较规则是对两个字符串自左至右逐个字符按其对应的ASCII码值进行比较,直到出现不同的字符或遇到'\0'为止。若对应字符都相同,则两字符串相等;若出现不相同的字符,则以第一个不相同的字符的比较结果为准。比较的结果由函数值带回。当s1s2时,返回负数;当s1=s2时,返回0;当s1>s2时,返回正数。所以在此题中要使得s1所指串大于s2所指串,就必定使得strcmp(s1,s2)>0。

  • 第2题:

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

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

    B.if(s1>s2) S;

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

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


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

  • 第3题:

    s1和s2已正确定义并分别表示两个字符串,若要求当s1所指字符串大于s2所指字符串时,输出ok,则以下选项中正确的是()。

    A.if(strcmp(s1,s2)>0) printf("ok");

    B.if(strcmp(s2,s1)>0) printf("ok");

    C.if(s1>s2) printf("ok");

    D.if(strcmp(s1,s2)) printf("ok");


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

  • 第4题:

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

    A.if(s1>s2) S;

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

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

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


    正确答案:D

  • 第5题:

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

    A.if(s1>s2) S;

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

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

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


    D 在C语言中,不能直接比较两个字符串的大小,必须用特定的函数来完成,选项A错误;选项B不管大于还是小于都执行S,不符合题意;选项C正好相反,当s2大于s1时,执行语句S,可知选项D正确。