扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
(1)strcmp是比较两个字符串的大小,两个字符串相同时返回0,第一个字符串大于第二个字符串时返回一个正值,否则返回负值.
成都创新互联专注为客户提供全方位的互联网综合服务,包含不限于成都做网站、网站设计、川汇网络推广、小程序制作、川汇网络营销、川汇企业策划、川汇品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;成都创新互联为所有大学生创业者提供川汇建站搭建服务,24小时服务热线:18982081108,官方网址:www.cdcxhl.com
(2)比较两个字符串的算法是:逐个比较两个串中对应的字符,字符大小按照ASCII码值确定,从左向右比较,如果遇到不同字符,所遇第一对不同字符的大小关系就确定了两个字符串的大小关系,如果未遇到不同字符而某个字符串首先结束,那么这个字符串是较小的,否则两个字符串相等。
扩展资料:
通常以串的整体作为操作对象,如:在串中查找某个子串、求取一个子串、在串的某个位置上插入一个子串以及删除一个子串等。
两个字符串相等的充要条件是:长度相等,并且各个对应位置上的字符都相等。设p、q是两个串,求q在p中首次出现的位置的运算叫做模式匹配。串的两种最基本的存储方式是顺序存储方式和链接存储方式。
字符串或串(String)是由数字、字母、下划线组成的一串字符。一般记为 s=“a1a2···an”(n=0)。它是编程语言中表示文本的数据类型。在程序设计中,字符串(string)为符号或数值的一个连续序列,如符号串(一串字符)或二进制数字串(一串二进制数字)。
字符串数据类型是建模在形式字符串的想法上的数据类型。字符串是几乎在所有编程语言中可以实现的非常重要和有用的数据类型。
在某些语言中它们可作为基本类型获得,在另一些语言中做为复合类型获得。多数高级语言的语法允许通常用某种方式引用起来的字符串来表示字符串数据类型的实例;这种元字符串叫做“文本”或“字符串文本”。
尽管形式字符串可以有任意(但有限)的长度,实际语言的字符串的长度经常被限制到一个人工极大值。一般的说,有两种类型的字符串数据类型: “定长字符串”,它有固定的极大长度并且不管是否达到了这个极大值都使用同样数量的内存,和“变长字符串”,它的长度不是专断固定的并且依赖于实际的大小使用可变数量的内存。
参考资料:百度百科——字符串
C语言提供了几个标准库函数,可以比较两个字符串是否相同。以下是用strcmp()函数比较字符串的一个例子:\x0d\x0a \x0d\x0a#include \x0d\x0a#include \x0d\x0avoid main (void);\x0d\x0avoid main(void)\x0d\x0a{\x0d\x0a char* str_1 = "abc" ; char * str_2 = "abc" ; char* str_3 = "ABC" ;\x0d\x0a if (strcmp(str_1, str_2) == 0)\x0d\x0a printf("str_1 is equal to str_2. \n");\x0d\x0a else\x0d\x0a printf("str_1 is not equal to str_2. \n");\x0d\x0a if (strcmp(str_1, str_3) == 0)\x0d\x0a printf("str_1 is equal to str_3.\n");\x0d\x0a else\x0d\x0a printf("str_1 is not equalto str_3.\n");\x0d\x0a}\x0d\x0a \x0d\x0a上例的打印输出如下所示: \x0d\x0a str_1 is equal to str_2. \x0d\x0a str_1 is not equal to str_3.\x0d\x0a \x0d\x0astrcmp()函数有两个参数,即要比较的两个字符串。strcmp()函数对两个字符串进行大小写敏感的(case-sensitiVe)和字典式的(lexicographic)比较,并返回下列值之一:\x0d\x0a----------------------------------------------------\x0d\x0a 返 回 值 意 义\x0d\x0a----------------------------------------------------\x0d\x0a 0 第一个字符串大于第二个字符串\x0d\x0a----------------------------------------------------\x0d\x0a在上例中,当比较str_1(即“abc”)和str_2(即“abc”)时,strcmp()函数的返回值为0。然而,当比较str_1(即"abc")和str_3(即"ABC")时,strcmp()函数返回一个大于0的值,因为按ASCII顺序字符串“ABC”小于“abc”。\x0d\x0astrcmp()函数有许多变体,它们的基本功能是相同的,都是比较两个字符串,但其它地方稍有差别。下表列出了C语言提供的与strcmp()函数类似的一些函数: \x0d\x0a-----------------------------------------------------------------\x0d\x0a 函 数 名 作 用\x0d\x0a-----------------------------------------------------------------\x0d\x0a strcmp() 对两个字符串进行大小写敏感的比较\x0d\x0a strcmpi() 对两个字符串进行大小写不敏感的比较\x0d\x0a stricmp() 同strcmpi()\x0d\x0a strncmp() 对两个字符串的一部分进行大小写敏感的比较\x0d\x0a strnicmp() 对两个字符串的一部分进行大小写不敏感的比较\x0d\x0a-----------------------------------------------------------------\x0d\x0a在前面的例子中,如果用strcmpi()函数代替strcmp()函数,则程序将认为字符串“ABC”等于“abc”。
可以使用库函数strcmp判断,具体如下:
strcmp是C语言比较字符串的库函数,形式为int strcmp(char *a, char *b);
该函数会对a和b的每个字符,按照ascii码值比较,如果二者完全相同返回0;如果a的ascii码值先出现较大者,会返回1;否则返回-1。
所以,要判断字符串相等,可以使用。
扩展资料:
关于上述strcmp()函数比较字符串的例子
#include stdio.h
#include string.h
int main(void)
{
char str_1[] = "abc";
char str_2[] = "abc";
char str_3[] = "ABC";
if (strcmp(str_1, str_2) == 0)
printf("str_1 is equal to str_2. \n");
else
printf("str_1 is not equal to str_2. \n");
if (strcmp(str_1, str_3) == 0)
printf("str_1 is equal to str_3.\n");
else
printf("str_1 is not equal to str_3.\n");
return 0;
}
参考资料来源:字符串-百度百科
puts、gets分别表示输出、输入一个字符
strcat表示连接两个字符串
strcpy用于复制字符串
strcmp用于比较两个字符串的大小(按字典顺序)
具体的例子楼主可以去
百度百科
一下,这些基本的
C函数
应该都有详细解释的,我就不啰嗦了。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流