目录
头文件
返回值是int类型,函数是将str1与str2这两个数组进行比较,
若str1>str2返回大于0的值
若str1 若str1==str2返回0 在VS中大于时返回1,小于时返回-1,等于时返回0。实质是一样的。 演示 结果输出 1 我们来分析一下大于小于和等于是怎么评判的: 原理是一个一个字符向后进行比较,当比到不一样的字符时,看看谁的asscill码值大,以此来比较大小,后面的字符就不用比了。因此在上面的代码中比到g与a时就比出结果,g>a因此返回大于0的值返回了1. 我们来看看其他的特殊情况: 我们可以看到arr1与arr2是不同的但是在\0之前是相同的,strcmp比到\0就结束比较了,因此返回了0. 我们来使用一下 可见我们模拟实现成功。 该函数与strcmp相比多了一个参数num num表示要进行比较的字符个数。 演示: 比较了前三个字符abc相等因此返回0. 我们再来看一下特殊情况: 虽然要比较9个字符但是arr1与arr2在第四个字符处都出现了\0,因此提前结束了返回了0. 我们再来看一种情况: arr1提前找到了\0,但是arr2还没有结束,我们规定的字符是9因此还会向后比较arr1中的\0与arr2中的a进行比较,显然arr1 感谢观看,欢迎在评论区讨论。2. strcmp模拟实现
3. strncmp函数
3.1 特殊情况分析