C语言中strcmp比较不同长度的字符串吗?
3个回答
展开全部
strcmp() 用来比较字符串(区分大小写),其原型为:
int strcmp(const char *s1, const char *s2);
【参数】s1, s2 为需要比较的两个字符串。
字符串大小的比较是以ASCII 码表上的顺序来决定,此顺序亦为字符的值。strcmp()首先将s1 第一个字符值减去s2
第一个字符值,若差值为0 则再继续比较下个字符,若差值不为0
则将差值返回。例如字符串"Ac"和"ba"比较则会返回字符"A"(65)和'b'(98)的差值(-33)。
【返回值】若参数s1 和s2 字符串相同则返回0。s1 若大于s2 则返回大于0 的值。s1 若小于s2 则返回小于0 的值。
所以比较的是字典序的大小,比如"a" 比 "ASDNZONWAOIDAOWIJDOWADNWO"要大
"aaaab" 比 "aaaaa" 大
长度不影响比较结果,除非两个字符串一个是另一个的子串,那么返回值会被影响
int strcmp(const char *s1, const char *s2);
【参数】s1, s2 为需要比较的两个字符串。
字符串大小的比较是以ASCII 码表上的顺序来决定,此顺序亦为字符的值。strcmp()首先将s1 第一个字符值减去s2
第一个字符值,若差值为0 则再继续比较下个字符,若差值不为0
则将差值返回。例如字符串"Ac"和"ba"比较则会返回字符"A"(65)和'b'(98)的差值(-33)。
【返回值】若参数s1 和s2 字符串相同则返回0。s1 若大于s2 则返回大于0 的值。s1 若小于s2 则返回小于0 的值。
所以比较的是字典序的大小,比如"a" 比 "ASDNZONWAOIDAOWIJDOWADNWO"要大
"aaaab" 比 "aaaaa" 大
长度不影响比较结果,除非两个字符串一个是另一个的子串,那么返回值会被影响
展开全部
按照逐个字符比较的方式进行比较大小,这要从前向后有一个不同,大小即见分晓。如果一个字符串是另外一个字符串的子集,则子集小于另外一个字符串。只有两个字符串完全相同,才大小相同,并且返回0.
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以比较不同长度的,返回非0。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询