编写函数StrCompare(S,T)实现两个串的⽐较
出处:数据结构的作业题⽬。
设串采⽤定长的顺序存储结构,编写函数StrCompare(S,T)实现两个串的⽐较。要求⽐较结果有⼤于、等于和⼩于三种情况。
以⾃定义函数形式写出,直接上代码吧
int StrCompare(String *S, String *T) {
int i=1;
if(S->ch[0]==T->ch[0]) {
while(i<=S->len) {
if(S->ch[i]!=T->ch[i])
return S->ch[i]-T->ch[i];字符串比较函数实现
i++;
}
if(i>S->len)
return0;
}
return S->ch[0]-T->ch[0];
}
既然能po在学习⽇记上肯定是有意义的。因为此前我虽然⽤过这个函数(只有在考试或者写作业的时候),但是总是没搞清楚compare的意思。
我以为是整个串的ASCii码数值加起来去compare⼤⼩,我错了。
字符串⽐较的规则是:从两个字符串的⾸字符开始,⼀次⽐较相对应的字符(⽐较字符的ASCII码),知道出现不同的字符或遇‘\0’为⽌。如果所有的字符都相同,返回0;否则,以第⼀个不相同字符的⽐较结果为准,返回这两个字符的差,即第⼀个字符串中的字符减去第⼆个字符串中的字符得到的差。
可能这是很多⼈不以为意的⼀个point,我⼀开始也这么觉得,其实⼈⼈都是这样的啦,反正我以后不会再在这⾥倒下了。
学习就是⼀个扫雷的过程,我相信如果不去处理它我以后可能就会为这个⼩细节付出代价,加油吧 :)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论