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),比较时是不是要求两个字符串的长度相等??的主要内容,如果未能解决你的问题,请参考以下文章