栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

“21天好习惯” 第一期 - 18

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

“21天好习惯” 第一期 - 18

今天进一步探究昨天学习的strcmp()函数:

        昨天学习strcmp()函数时提到了,当两个字符串相同时,输出0,不相同时,输出非零,那么当两个字符串不同时,具体会输出什么非零值呢?于是写了一个程序进行探究:

#include
#include
int main()
{
	printf("strcmp("A","B") = ");
	printf("%dn", strcmp("A", "B"));
	printf("strcmp("B","A") = ");
	printf("%dn", strcmp("B", "A"));
	printf("strcmp("a","b") = ");
	printf("%dn", strcmp("a", "b"));
	return 0;
}

        从程序,以及运行结果可以看出,对于A,B和a,b的比较结果都是输出-1,而B,A输出的是1,结合书中内容可以得出结论:当在字母表中第一个字符串位于第二个字符串的前面,则返回负数,反之则返回正数。

        在程序运行的某些情况中,使用strcmp()函数对比字符串时,可能并不需要对比整个字符串,也许只需要比较头几个字符是否相同,这时为了提高程序运行效率,同时完成任务,我们可以使用C语言提供的strncmp()函数,其中加入第三个参数,能够限定函数对比的字符数。

#include
#include
int main()
{
	char qq[] = "TenXun hello ";
	char Vchat[] = "TenXun gone";
	if (strncmp(qq, Vchat, 6) == 0) {
		printf("Yes,they are the same!");
	}
	else
		printf("Wrong!wrong!wrong!");
	return 0;
}

 

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/509812.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号