c语言怎么查字节函数,C语言strcmp()函数是如何实现的

本文介绍了如何使用C语言实现一个比较两个字符串的函数`stringcompare`,该函数通过逐字符比较并返回差值来判断字符串的相对顺序。文章提供了两种实现方式,一种基于索引遍历,另一种利用指针自增。此外,还展示了指针自增在进栈和出栈操作中的应用。
摘要由CSDN通过智能技术生成

函数 int stringcompare(char *source, char *target) 比较字符串 source 和 target,并根据 source 是否小于、等于或大于 target 的结果分别返回负整数、0或者整数。该返回值是 source 和 target 由前后逐字符比较时遇到的第一个不相等字符处的字符的差值。

#include

int stringcompare(char *source, char *target);

int main()

{

char str_a[] = "Welcome to www.nowamagic.net";

char str_b[] = "Welcome to www.nowamagic.net";

int wait, result;

result = stringcompare(str_b, str_a);

printf("After Function Call: \n");

printf("result is '%d' \n", result);

scanf("%d", &wait);

}

/* 根据 source 按照字典顺序小于、等于或大于 target 的结果分别返回负整数、0或者整数 */

int stringcompare(char *source, char *target)

{

int i;

for(i = 0; source[i] == target[i]; i++)

{

if (source[i] == '\0')

return 0;

return source[i] - target[i];

}

}

下面再用指针实现:

int stringcompare(char *source, char *target)

{

for ( ; *source == *target; source++, target++)

if (*source == '\0')

return 0;

return *source - *target;

}

关于指针自增与自减有下面一种用法:

/* 将val压入栈 */

*p++ = val;

/* 将栈顶元素弹出到val中 */

val = *--p;

这两个表达式是进栈和出栈的标准用法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值