函数strcmp的简单功能代码

strcmp在c和c++中代表的意思是比较两个字符串。
设这两个字符串为str1和str2。
若str1=str2,则返回零;
若str1<str2,则返回负数;
若str1>tr2,则返回正数;
其实也就是两个字符串从左到右逐个字符比较。(用ASCLL进行比较,也就是相减,但是要注意的就是确切的数值是依赖不同的c实现的)
百度百科里面有很详细的解释,也有不同的编译条件下的代码。
我这是在VS中实现的代码,这个代码会显示出每一字符比较出的ASCLL值结果。

简单的功能实现就只在主函数中提前输入两个字符串。
将它们传进my_strcmp中,在my_strcmp中进行计算输出。
my_strcmp中的计算呢。
首先先想到的是用s1,s2分别指向两个字符串中的第一个字符。
进行判断是否为’\0’,’\0’代表的是字符串已经结束。否则的就进行计算,输出,然后再把s1,s2向后移动一位,重复这个过程就好

#include "stdafx.h"
#include<stdlib.h>
#include <string.h>
#include<corecrt_memcpy_s.h>
 void my_strcmp(const char *src1, const char *src2);
 int main()
 {	char src[4] = "adc";	
         char dst[4] = "aac";	
         my_strcmp(src, dst);	
         system("pause");  
         return 0;
 }
 void my_strcmp(const char *src1, const char *src2)
 { 	register const unsigned char*s1 = (const unsigned char *)src1;//强制类型转换
   	register const unsigned char*s2 = (const unsigned char *)src2;
   	while (*s1 != '\0'&&*s2 != '\0')
   	{		
   	    printf("%d  ",*s1-*s2);	
   	    s1++;		
             s2++;	 				
   	}
 }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值