这个bool函数怎么解释

来源:百度知道 编辑:UC知道 时间:2024/06/30 08:34:47
bool paixu(string s1,string s2){
if(s1.length()==s2.length())
for(int i=0;i<s1.length();i++)
if(s1[i]<s2[i]) return s1<s2;
}

s1<s2是一个关系表达式,
其值只有两个:true or false
如果s1小于s2,那么表达式的值为true,
return s1<s2;就是返回bool值true
否则返回false

bool paixu(string s1,string s2)
{
if(s1.length()==s2.length())
for(int i=0;i<s1.length();i++)
if(s1[i]<s2[i])
return s1<s2;
}
两个字符串排序,如果长度相等,就进入循环,从两个字符串的第一个字符开始比较,如果s1中的第i个字符比s2中第i个字符小,就返回s1<s2,即相当于返回ture,也就是返回1.

这个函数原来的目的是判断两个相同长度的字符串大小,但有问题,当两字符串长度不等时,该函数什么也不返回,这个在编译时应该会给警告。