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

admin2009-01-15  27

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

答案8

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

随机试题
最新回复(0)