strcmp函数
一、strcmp函数的简介
strcmp函数在库函数中的定义:
int strcmp ( const char * str1, const char * str2 );
参数:
1.str1
:要比较的字符串
2.str2
:要比较的字符串
返回值:
返回值 | 表明 |
小于0 | str1<str2 |
等于0 | str1=str2 |
大于0 | str1>str2 |
二、strcmp函数的功能
比较两个字符串
将 C 字符串 str1 与 C 字符串 str2 进行比较。
此函数开始比较每个字符串的第一个字符。如果它们彼此相等,则继续以下对,直到字符不同或达到终止空字符。
三、strcmp函数的使用
#include<stdio.h> #include<string.h> int main() { char str1[] = { "abc" }; char str2[] = { "abcdefg" }; printf("%d", strcmp(str1, str2)); return 0; }
四、strcmp函数的模拟
#include<stdio.h> int my_strcmp(const char* str1, const char* str2) { while (*str1 == *str2) { if (str1 == '\0') return 0; str1++; str2++; } if (*str1 > str2) return 1; else return -1; } int main() { char str1[] = { "abc" }; char str2[] = { "abcdefg" }; printf("%d", my_strcmp(str1, str2)); return 0;
运行结果
strncmp函数
一、strncmp的简介
strncmp函数在库函数中的定义:
int strncmp ( const char * str1, const char * str2, size_t num );
参数:str1
要比较的 C 字符串。
str2
:要比较的 C 字符串。
num:
要比较的最大字符数。(size_t是无符号整数类型)
返回值
返回值 | 表明 |
小于0 | str1<str2 |
等于0 | str1=str2 |
大于0 | str1>str2 |
二、strncmp函数的功能
与strcmp基本一样,只是strncmp加入的num限制比较的个数。
比较前num个元素。
三、strncmp函数的使用
#include <stdio.h> #include <string.h> int main() { char str1[] = { "abcd" }; char str2[] = { "abcdefg" }; printf("%d", strncmp(str1, str2,4)); return 0; }
运行截图
这里比较的是前四个元素,返回零,说明str1和str2的前四个元素一样。