strcmp能否用于数字的比较?还是只能是字符串?
1个回答
展开全部
strcmp函数的参数要求只能是字符串。
某些情况下,strcmp也可以用来比较数字字符串。
比如:比较"123"和"124",前者要小于后者,因为'3'<'4'。
不过,"20"和"108"这两个字符串,前者是要大于后者的,因为'2'>'1'。
原因就是字符串大小的比较是从第一位开始由左到右按位比较的,第一位如果不同,那么大小就确定了,不再比较后面的字符。如果第一位相同,就比较第二位……原理与第一位相同,直到某一位两字符不相同。
如果要进行准确的数值比较,应该先将数值字符串转为数值然后再比较大小。
某些情况下,strcmp也可以用来比较数字字符串。
比如:比较"123"和"124",前者要小于后者,因为'3'<'4'。
不过,"20"和"108"这两个字符串,前者是要大于后者的,因为'2'>'1'。
原因就是字符串大小的比较是从第一位开始由左到右按位比较的,第一位如果不同,那么大小就确定了,不再比较后面的字符。如果第一位相同,就比较第二位……原理与第一位相同,直到某一位两字符不相同。
如果要进行准确的数值比较,应该先将数值字符串转为数值然后再比较大小。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询