C语言字符串比较是否可以直接用关系运算符

C语言字符串比较是否可以直接用关系运算符,第1张

C语言字符比较不能直接用关系运算符进行正确比较。

可以用如裤

字符串比较函数strcmp

格式:

strcmp(字符数组名1,字符数组名2)

功能:按照ASCII码顺序比较两个数渣厅简组中的字符串,并由函数返回值返回比较结果

字符串1=字符串2,返回值=0;

字符串2〉字符串2,返回值〉0;

字符串1〈字符串2,返回值〈0。

本函数也可用于比较两个字符串常量,或比较数组和字符串伏差常量。

从左向右逐个字符进行比较。比较原则为空知郑悔格最小,数字<大写字母<小写字母。

同为数字、大写字母、小写字母则'0'<'9'、'A'<'Z'、'a'<'z'。丛拆

若有比较结果为二个字符不相等,则二个字符串的比较结束。字符比较大小的结果,就是字符串大小比较的结果。

如果二个字符串的前若干个字符逐一对应相同,字符串长度也相同,则两个字符串相等。

如果二个字符串的前若干个字符逐一对应相同,字符串长度不相同,则较长的那个字符串为大。

使用函数strcmp(s1,s2),需要包含头文件string.h

若结果为正,表示s1>s2;

若结果为负,表示s1<s2;

若结果为0,搭正表示s1==s2;

(1)串长度 int strlen(char *str)

cout<<strlen(s1)<<endl输出14

cout<<strlen(s2)<<endl输出7

(2)串拷贝 char *strcpy(char *str1,char *str2)

strcpy(s4,s2) //s4为"teacher"

(3)串连接 char *strcat(char *str1,char*str2)

strcat(s2,s3)//s2为"teacherstudent"

(4)串比较 int strcmp(char *str1,char *str) //比较的是对应字符的ASCII码值,如果str1>扒橡耐str2,返回1

result=strcmp(s2,s3) //result>0

result=strcmp(s2,s2) //result=0

result=strcmp(s3,s2) //result<0

(5)串定位 char *strchr(char *str,char ch)

p=strchr(s1,'s') //找到返回字符在字串中的位置,否则返回-1

strcpy(p,s2) //s1为"I am a teacher"

(6)在一个串中查找是否存在和另一个串相等的子串

(7)截取子串形成一个新串

字符串的输入

(1)方法一:使用输入 *** 符来填充一个C字符串变量

例如:

char a[80]

cin>>a

注:以这种方式来读取C字符串时,会忽略最初的空白字符(空格、春春制表符和换行符),而且输入会在下一个空格或者换行如则符处停止。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12273981.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存