stcmp函数的实现

/*
  编程实现  stcmp 库函数 ,
  对于 两个字符串 str1 和str2   如果相等 放回 0 ,如果 str1 大于str2  返回1 否则 返回-1;

*/


#include <stdio.h>
#include <stdlib.h>

int  mystcmp ( const char * str1,const char* str2){
  

	int  ret  = 0;
	while ( !( ret =  *(unsigned *)str1- *(unsigned *)str2 ) && *str2  ){/* 如果字符相等循环 且str2 不等于空字符循环*/
		++str2;
		++str1;
	}
	if (ret <0)
		return -1;
	else if(ret >0)
		return  1;

	return  ret;

}
下面 我们来测试一下

void  main (){ 
	/*  数组名 是常量指针 不能作为 变量 进行赋值*/

	char str[10]  ="123456";
	char str1[10] ="123456";
	char str2[10] = "12";
	char str3[10] = "1266";

	int test = mystcmp(str,str1);
	int  test1 = mystcmp (str1,str2);
	int  test2 = mystcmp (str2,str3);
	printf ("%d \n  %d\n  %d \n ",test,test1,test2);
	system("pause");
}


  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值