strcmp(a,b),比较时是不是要求两个字符串的长度相等??

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了strcmp(a,b),比较时是不是要求两个字符串的长度相等??相关的知识,希望对你有一定的参考价值。

比如
比较 1111111111 2
-999999 -8

strcmp 与 strncmp 两个都是比较函数,但是都不需要规定两个字符串的长度。

strcmp 函数的使用时取字符串a , b然后依次从第一个字符开始比较,直到出现不同,然后在判断是否其大小。你可以看下下面的程序:

#include <stdio.h> 
#include <string.h>

#define MAX 100

int main()

char str1[MAX];
char str2[MAX] = "123456789";

printf("please enter a string:");
scanf("%99[^\\n]", str1);

printf("str1 : %s\\n", str1);
printf("str2 : %s\\n", str2);
printf("%d\\n", strcmp(str1, str2)); //相同返回0,如果str1比str2大则返回1,反之返回-1,比较是按照ASCII来的

return 0;

参考技术A 完全不需要

如何利用strcmp函数比较两个字符串是不是相同?

参考技术A strcmp比较2个以\'\0\'结束的字符串是否相同的。\\x0d\\x0a你将a[100],b[100]结束后增加一个字符\'\0\'。\\x0d\\x0a就可以用strcmp(a,b)==0来判断字符串是否相同了。\\x0d\\x0a\\x0d\\x0a如:\\x0d\\x0a\\x0d\\x0achar a[100],b[100];\\x0d\\x0aint i;\\x0d\\x0ai=0;\\x0d\\x0awhile(scanf("%c",&a[i]),a[i] !=\'x\');\\x0d\\x0aa[i] = \'\0\';\\x0d\\x0ai=0;\\x0d\\x0awhile(scanf("%c",&b[i]),b[i] !=\'x\');\\x0d\\x0ab[i] = \'\0\';\\x0d\\x0aif(strcmp(a,b)==0)\\x0d\\x0aprintf("字符串相同");\\x0d\\x0aelse\\x0d\\x0aprintf("字符串不同");

以上是关于strcmp(a,b),比较时是不是要求两个字符串的长度相等??的主要内容,如果未能解决你的问题,请参考以下文章

strcmp函数

c语言中strcmp函数 如果两个字符串长度不一样时要怎么比较大小啊?

怎么判断两个字符串是不是完全相同?

用strcmp函数比较两个字符串,结果不正确啊

如何判断字符串是不是相等

C++中判断两个字符串是不是相等,怎么判断