怎么比较字符串大小 对三个字符串按字典序比较大小?
对三个字符串按字典序比较大小?
#include<stdio.h>#include<string.h>int main(){void swap(char*,char*)char s1[31],s2[31],s3[31]scanf(%s%s%s”,s1,s2,s3)if(strcmp(s1,s2)>0)swap(s1,s2)if(strcmp(s1,s3)>0)swap(s1,s3)if(strcmp(s2,s3)swap(s2,s3)printf(%s%s%s%sn”,s1,s2,s3)return 0}void swap(char*p1,char)*P2){char P[31]strcpy(P,P1)strcpy(P1,P2)strcpy(P2,P)}String.compareTo比较方法:compareto()的返回值是int,它首先比较相应字符的大小(ASCII码顺序)1。如果字符串相等,则返回值02。如果参数的第一个字符和第一个字符不相等,则结束比较并返回它们之间的差值(ASCII码值)(负值之前的字符串值小于正值之后的字符串值,正值前的字符串大于负值后的字符串)3。如果第一个字符与参数的第一个字符不同,则返回它们之间的差异(ASCII代码值),例如:字符串S1=“ABC”字符串S2=“ABC”字符串S3=“abcdfg”字符串S4=“1bcdfg”字符串S5=“CDFG”系统输出打印(s1.与(s2)相比)//-1(前面相等,长度S1小于1)系统输出打印(S1。比较(S3))//-3系统输出打印(S1。CompareTo(S4))//48(a的ASCII码是97,1的ASCII码是49,所以返回48)系统输出打印(S1。CompareTo(S5)//-2(a的ASCII码是97,C的ASCII码是99,所以返回-2)
string类型怎么比较字符串的大小?
通过编程判断两个字符串大小的方法:
首先比较两个字符串的第一个字符,然后字母顺序更大,例如:
Cat>apple,因为C比a晚
如果字母相同,那么继续比较第二个字母。
如果最后一个相同,则有两种情况:
如果字符串的长度相同,则两个字符串相等,否则较长的字符串较大。
空字符串是特殊的,它比除自身以外的所有字符串都小,也就是说,空字符串是最小的。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。