strcmp函数
主要就是比较两个字符串的大小,如图理解
如下面例题:
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include <assert.h>
//====strcmp函数实例(比较大小)
int strcmp(const char* str1, const char* str2){ //当字符相同,则继续向后比较,直到不用为止
assert(str1 != NULL || str2 != NULL); //合法性校验
while (*str1 != '\0'&&*str2 != '\0'){ //判断是否为空
if (*str1 < *str2){
return -1; //这里的-1不只是一个数字,它表达的是一串文字,只不过需要翻译出来
}
else if (*str1>*str2){ return 1; }
else {
str1++;
str2++;
}
}
if (*str1 < *str2){ //依次进行比较,看哪一个大
return -1;
}
else if (*str1>*str2){ return 1; }
else { return 0; } //相同为0
}
int main(){
char arr1[] = "abcd";
char arr2[] = "abc";
char* temp1 = arr1;
char* temp2 = arr2;
printf("%d\n", strcmp(temp1, temp2)); //调用函数
system("pause");
return 0;
}
主要理解我在上面strcmp内部的函数实现,多敲几次,代码就要多敲!