#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
//strcmp字符串比较
//int strcmp(const char* str1, const char* str2);
int main()
{
char arr1[20] = "zhangsan";
char arr2[] = "zhangsanfeng";
//比较两个字符串是否相等,应该使用strcmp
int ret = strcmp(arr1, arr2);
if (ret < 0)
printf("<\n");
else if (ret == 0)
printf("==\n");
else
printf(">\n");
return 0;
}
//strcmp的模拟实现
#include <assert.h>
int my_strcmp(const char* str1, const char* str2)
{
assert(str1 && str2);
while (*str1 == *str2)
{
if (*str1 == '\0')
return 0;//相等
str1++;
str2++;
}
//if (*str1 > *str2)
// return 1;//大于
//else
// return -1;//小于
return (*str1 - *str2);//两个字符的ASCII码值相减
}
int main()
{
char arr1[20] = "zhangsan";
char arr2[] = "zhangsanfeng";
//比较两个字符串是否相等,应该使用strcmp
int ret = my_strcmp(arr1, arr2);
if (ret < 0)
printf("<\n");
else if (ret == 0)
printf("==\n");
else
printf(">\n");
return 0;
}
//strcpy
//strcat
//strcmp
//这些是长度不受限制的字符串函数
//所以这些函数是存在安全的
//长度受限制的字符串函数
//strncpy
//strncat
//strncmp
//这些是相对安全的