C语言strcmp()函数是如何实现的
2011-09-13 00:00
686 查看
函数 int stringcompare(char *source, char *target) 比较字符串 source 和 target,并根据 source 是否小于、等于或大于 target 的结果分别返回负整数、0或者整数。该返回值是 source 和 target 由前后逐字符比较时遇到的第一个不相等字符处的字符的差值。
下面再用指针实现:
关于指针自增与自减有下面一种用法:
这两个表达式是进栈和出栈的标准用法。
#include <stdio.h> 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;
这两个表达式是进栈和出栈的标准用法。
相关文章推荐
- 如何使用纯win32函数和C语言实现一个简单的文本编辑器
- C语言如何调用 memcpy 函数 实现内存拷贝
- 字符串处理函数strlen、strcpy、strcat、strcmp和convert的C语言实现
- C语言_编写说明strlen、strcpy、strcat、strcmp如何实现的
- C语言如何实现一个函数返回另一个函数
- 如何实现c语言中回调java函数
- strcmp函数的C语言实现
- 一.数组和指针的差别二.函数的好处以及使用函数的注意项。三.用c语言如何实现面向对象?c语言哪些点体现了面向对象。
- 【C语言】strcmp函数的实现
- 【C语言】strcpy(),strcat(), strcmp()函数的实现
- C语言中strlen() strcpy() strcat() strcmp()函数的实现方法
- C语言实现strcmp()和strcpy()函数
- C语言如何在不定义函数的情况下实现递归
- 如何在QT中实现C语言中调用C++的函数
- 用C语言 实现strcmp(),strncmp()相同功能的myStrcmp()函数和myStrncmp()函数
- 【C语言】模拟实现strcmp函数
- C语言实现strcmp()和strcpy()函数
- 【C语言】模拟实现strcmp()、strncmp()函数
- 【转】[转]C语言可变参数函数分析与实现
- 用函数来实现strcmp函数及其strlen函数的应用!