2级c语言题

来源:百度知道 编辑:UC知道 时间:2024/05/22 12:15:27
我有一道计算机等级考试二级C语言的题不太明白,看了答解析也搞不懂,请高手指导。
判断字符串s1是否大于字符串s2,应该使用_____
A.if(strcmp(s1,s2)<0)
B.if(s1>s2)
C.if(strcmp(s2,s1)<0)
D.if(strcmp(s1,s2))

答案选C

strcmp(s1,s2)返回字符串s1-s2逻辑的减值,
也就是说s1>s2返回一个大于0的值;
s1==s2返回一个等于0的值;
s1<s2返回一个小于0的值;

要判断s1是否大于s2,也就是说s2是否小于s1
所以选c

C吧,题目出的有些不明不白的,strcmp函数,前面的小为负,后面的小为正

strcmp返回值的问题
strcmp(a,b)
如果a>b,返回>0
如果a<b,返回<0
如果a=b,返回=0

A:如果(strcmp(s1,s2)<0)为真,说明a<b;为假,也可能a=b,不能说明a>b
B:显然的
D:if(strcmp(s1,s2)),括号为真,则说明strcmp(s1,s2)!=0;大于还是小于不清楚,为假,说明strcmp(s1,s2)=0,a=b.关键就是D的判断