资讯 小学 初中 高中 语言 会计职称 学历提升 法考 计算机考试 医护考试 建工考试 教育百科
栏目分类:
子分类:
返回
空麓网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
空麓网 > 计算机考试 > 软件开发 > 后端开发 > C/C++/C#

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

C/C++/C# 更新时间: 发布时间: 计算机考试归档 最新发布

“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;
}

 

 

转载请注明:文章转载自 http://www.konglu.com/
本文地址:http://www.konglu.com/it/509812.html
免责声明:

我们致力于保护作者版权,注重分享,被刊用文章【“21天好习惯” 第一期 - 18】因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,转载此文是出于传递更多信息之目的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!

我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2023 成都空麓科技有限公司

ICP备案号:蜀ICP备2023000828号-2