c语言strcmp的用法
函数 int stringcompare(char *source, char *target) 比较字符串 source 和 target,并根据 source 是否小于、等于或大于 target 的结果分别返回负整数、0或者整数。该返回值是 source 和 target 由前后逐字符比较时遇到的第一个不相等字符处的字符的差值。下面小编就来为大家介绍下c语言strcmp的.用法。
#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:
");
printf("result is '%d'
", 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;
这两个表达式是进栈和出栈的标准用法。