串 比较

题目:

不调用库函数,自己实现字符串的比较操作:该操作当比较的两个字符是都是字母,且两个字符互为大小写(如a和A、e和E)时认为两个字符相同,否则不同,其比较结果按这两个字符的原值确定。函数的返回值规定如下:
返回值 < 0:第一个不匹配的字符在 ptr1 中的值低于 ptr2 中的值
返回值 == 0:两个字符串的内容相等
返回值 > 0:第一个不匹配的字符在 ptr1 中的值大于在 ptr2 中的值

函数原型如下:
int str_compare(const char* ptr1, const char* ptr2);

代码:

#include "dsstring.h" //请不要删除,否则检查不通过
#include <stdio.h>
#include <stdlib.h>

int str_compare(const char* ptr1, const char* ptr2)
{
    char a, b;
    int i, n, k;
    i = 0;
    n = 0;
    k = 0;
    while (ptr1[n] != '\0') {
        n++;
    }
    while (ptr2[k] != '\0') {
        k++;
    }

    while (i <= n && i <= k) {
        a = ptr1[i];
        b = ptr2[i];
        if (a == b || (a - 32) == b || (a + 32) == b) {
            i++;
        } else if (a < b) {
            return -1;
        } else {
            return 1;
        }
    }
    if (n == k) {
        return 0;
    } else if (n < k) {
        return -1;
    } else {
        return 1;
    }
}

代码仅供参考,望多多思考

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值