strcmp能否用于数字的比较?还是只能是字符串?

如题所述

strcmp函数的参数要求只能是字符串。

某些情况下,strcmp也可以用来比较数字字符串。
比如:比较"123"和"124",前者要小于后者,因为'3'<'4'。
不过,"20"和"108"这两个字符串,前者是要大于后者的,因为'2'>'1'。

原因就是字符串大小的比较是从第一位开始由左到右按位比较的,第一位如果不同,那么大小就确定了,不再比较后面的字符。如果第一位相同,就比较第二位……原理与第一位相同,直到某一位两字符不相同。

如果要进行准确的数值比较,应该先将数值字符串转为数值然后再比较大小。
温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

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