C语言学习 字符串的函数

本文介绍了C语言中的strcmp()函数,详细解释了其如何通过比较单个字符的ASCII码值实现字符串排序,以及在实际使用中需要注意的区别和可能的编译器依赖。
摘要由CSDN通过智能技术生成

strcmp()字符串比较函数

int strcmp(const char* s1,const char* s2)

函数的返回值是1 0 -1

s1==s2 0

s1>s2 1

s2<s2 -1

注意 这里实际上是按字符串的顺序比较单个字符对应的ascii码值,

可以理解为s1[i]-s2[i]

如果相同所引的s1排在s2的前面 返回-1 反之返回1

int main()
{
	char ch1[] = "A";
	char ch2[] = "a";
	printf("%d\n",'A');// 'A'==65
	printf("%d\n",'a');// 'a'==97
	printf("%d\n",strcmp(ch1,ch2));// 'A'排在'a'前面 所以返回-1
	return 0;
}

当然这里也可能打印处-32 因为结果和不同的编译器有关

注意"A"和'A'是不同的,前面是char[2]字符串 后面是char字符

并且字符串不能直接比较 因为字符串本质就是数组 直接比较是比较的地址

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值