简明现代魔法 -> C/C++ -> C 程序设计:字符串比较

C 程序设计:字符串比较

2010-08-07

函数 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;

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

随机文章推荐
网站分类


注:如需转载本文,请注明出处(原文链接),谢谢。更多精彩内容,请进入简明现代魔法首页。

进入新博客
喜欢本文,就分享它吧
给我留言
您的名字:
您的邮件:
您的网站:


 

copyright © 2009 简明现代魔法    学习、分享、进步

power by Gonn 感谢所有关心和支持本站的朋友们