C语言字符串的比较(顺便讲下其他数据的比较)
上节我们介绍了表示真假的bool类型。表示真假的bool类型
本节我们讲一下C语言字符串的比较。
-
之前我们讲过C++字符串的比较方式,很简单,使用比较运算符直接进行比较就行
< <= > >= == !=
比较 -
C语言字符串的比较方式: 比较规则与C++的比较规则一致,都是比较对应字符的ASCII码值大小
需要包含头文件string.h
并且使用strcmp()
函数进行比较。#include <string.h> int strcmp(const char* str1, const char* str2);
例如:
int ret; ret = strcmp(str1, str2);
返回值:
str1 < str2
时, 返回值<0,(有些编译器返回-1)str1 > str2
时,返回值>0,(有些编译器返回1)str1 == str2
时,返回值为0
#include <stdio.h>
#include <string.h>
int main(){
char food[32];
printf("你喜欢吃什么呀?");
scanf("%s", food);
if(strcmp(food, "苹果") == 0){
printf("巧了,我也喜欢吃苹果");
}else{
printf("我不喜欢吃%s", food);
}
}
第一次输入:苹果, 第二次输入:香蕉。
输出结果:
//第一次
巧了,我也喜欢吃苹果
//第二次
我不喜欢吃香蕉
- 其他数据的比较
char, int, float, double, short
等数据类型都可以使用比较运算符。 - 比较的结果:逻辑值(结果为真true, 结果为假false)
本节介绍了C语言的字符串和其他类型的比较,下节介绍逻辑运算。