#include<stdio.h>
#include<assert.h>
#include<string.h>
#define N 50
// int my_strcmp(char *dest, char *src)
// {
// assert((dest != NULL)&&(src != NULL));//断言:判断表达式一定为真,若为假,则终止程序
// int i = 0, ret = 0;
// while(*dest && (*dest == *src))//保证两个数组不为空,找出两个数组第一个不同元素,所在的位置i
// {
// dest++;
// src++;
// }
// if(*dest == *src)//若此时i位置的两个数组元素相同,说明两数组相同
// {
// return 0;
// }else{
// return (*dest > *src? 1: -1);//若此时i位置的两个数组元素不相同,则比较大小
// }
// }
// int my_strcmp(char *dest, char *src)
// {
// assert((dest != NULL)&&(src != NULL));//断言:判断表达式一定为真,若为假,则终止程序
// int i = 0, ret = 0;
// while(*dest && (*dest == *src))//保证两个数组不为空,找出两个数组第一个不同元素,所在的位置i
// {
// dest++;
// src++;
// }
// return *dest - *src;
// }
int my_strcmp(char *dest, char *src)
{
assert((dest != NULL)&&(src != NULL));//断言:判断表达式一定为真,若为假,则终止程序
int i = 0, ret = 0;
while(*dest && (*dest++ == *src++));//保证两个数组不为空,找出两个数组第一个不同元素,所在的位置i
return *dest - *src;//若此时i位置的两个数组元素相减,就可得出大小
}
int main(int argc, const char *argv[])
{
char buf[N] = {"abcdefgtyui"};//定义需要传给形参,给形参赋值的变量
char buff[] = {"12345"};
int i = 0;
i = my_strcmp(buf, buff);
printf("strcmp(buf, buff) = %d\n", i);
i = strcmp(buf, buff);
printf("strcmp(buf, buff) = %d\n", i);
return 0;
}