while(s1[i]==s2[i]&&s2[i]!='\0')

如题所述

第1个回答  2019-07-08
while(s1[i]&&s2[i]&&s1[i]==s2[i])
i++;这句话的主要目的是找出字符串s1和s2第一个不相同的字符的位置,当然为了防止s1是s2的子串或者s2是s1的子串(处理边界问题,防止死循环)另外加了两个条件s1[i]&&s2[i],也就是当其中有一个已经结束时,循环也暂停。然后记录下停下来的位置i,用字符串s1[i]的字符减去s2[i]的字符。整个函数就是判断两个字符串的大小,和strcmp功能一样。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网