当前位置:首页 » 编程语言 » 将两个字符串比较c语言
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

将两个字符串比较c语言

发布时间: 2022-06-23 06:47:09

c语言中如何比较两个【字符】或者【字符串】是否相等

C语言中用strcmp函数比较字符和字符串是否相等。

strcmp函数功能是比较两个字符串的大小,返回比较的结果。

函数形式:strcmp(str1,str2)

参数说明:str1,str2可以是字符串常量或变量。

结果说明:

①返回值小于0,说明str1小于str2。

②返回值等于0,说明str1与str2相等。

③返回值大于0,s说明str1大于str2。

② 在C语言中字符串的大小怎么比较啊

1、C语言中字符是使用char来定义的,使用关系运算符(>,<,=)即可对字符进行比较。

③ 编写一个C语言函数,比较两个字符串的大小

#include<stdio.h>
#define
N
100
int
input(char*a,char*b)//输入两个字符串
{
printf("Input
the
first
information:\n");
fgets(a,N,stdin);
printf("Input
the
secend
information:\n");
fgets(b,N,stdin);
}
int
my_strcmp(char*a,char*b)//比较字符串每个字符的大小
{
while((*a!='\0')&&(*b!='\0'))
{
if(*a>*b)
{
return
0;
}
else
if(*a<*b)
{
return
1;
}
else
{
a++;
b++;
}
}
if((*a=='\0')&&(*b!='\0'))//字符串b比字符串a长
{
return
1;
}
else
if((*a!='\0')&&(*b=='\0'))//字符串a比字符串b长
{
return
0;
}
else
{
return
2;
}
}
int
main()
{
char
a[N]={0};
char
b[N]={0};
int
net2=0;
input(a,b);//调用输入函数
net2=my_strcmp(a,b);//调用比较大小函数
if(0==net2)//输出大小
{
printf("a>b\n");
}
else
if(1==net2)
{
printf("a<b\n");
}
else
{
printf("a=b\n");
}
return
0;
}
(3)将两个字符串比较c语言扩展阅读:
一、return在函数中的作用
我们如果将函数看做一个加工厂,参数就是我们向加工厂投入的原料,具体的函数功能实际上就是加工的过程,而return语句代表返回值,就是加工厂在实现加工之后给“投资人”的成品。
二、return语句的特点
1、在函数当中,遇到return语句之后就意味着函数运行的结束,在此之后的代码是不运行的。
2、它不支持任何运算也没有任何内建方法,和任何其他的数据类型比较是否相等时永远返回false,也可以将None赋值给任何变量。
3、执行到return语句时,会退出函数,return之后的语句不再执行。但将return语句放在try语句块中,是个例外。
三、return的默认值:return函数默认的返回值为undefined。

④ c语言中如何判断两个字符串相等

可以使用库函数strcmp判断,具体如下:

strcmp是C语言比较字符串的库函数,形式为int strcmp(char *a, char *b);

该函数会对a和b的每个字符,按照ascii码值比较,如果二者完全相同返回0;如果a的ascii码值先出现较大者,会返回1;否则返回-1。

所以,要判断字符串相等,可以使用。

(4)将两个字符串比较c语言扩展阅读:

关于上述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. ");

else

printf("str_1 is not equal to str_2. ");

if (strcmp(str_1, str_3) == 0)

printf("str_1 is equal to str_3. ");

else

printf("str_1 is not equal to str_3. ");

return 0;

}

参考资料来源:字符串-网络

⑤ C语言如何比较两个【字符】或者【字符串】是否相等迷糊了,求解答

比较字符可以直接使用==比较操作符,如:
char c1='a',c2='b';
if(c1==c2) printf("%c is same as %c.",c1,c2);
else printf("%c is different to %c",c1,c2);

若是字符串,则需要使用字符串函数了,strcmp
char s1[]="abc",s2[]="xyz";
if(strcmp(s1,s2)==0) printf("%s is same as %s.",s1,s2);

⑥ c语言中比较两个字符串的大小,应该怎么做

一:(这个调用了 string.h 头函数)
#include <stdio.h>
#include <string.h>

void comparision(char a[],char b[])
{
if(strcmp(a,b)>0) printf("a[40]>b[40]");
else if(strcmp(a,b)==0) printf("a[40]=b[40]");
else printf("a[40]<b[40]");
}
main(void)
{
char a[40],b[40];
gets(a);
gets(b);
comparision(a,b);
}

2:这个是普通方法 不调用函数strcmp();
#include <stdio.h>

int comparision(char a[],char b[])
{
int t,i=0;
while(a[i]!='\0'||b[i]!='\0')
{
if(a[i]==b[i]) t=0;
else if(a[i]>b[i]) t=1;
else t=-1;
if(t!=0) break;
i++;
}
return t;
}

main(void)
{
char a[40],b[40];
int k=0;
gets(a);
gets(b);
k=comparision(a,b);
if(k==1) printf("a[40]>b[40]");
else if(k==-1) printf("a[40]<b[40]");
else printf("a[40]=b[40]");
}

⑦ c语言比较两个字符串的大小

主要是循环的次数,如果两个字符串相同,你让程序循环的次数是101次,已经超出了字符串的长度范围了。

⑧ C语言怎么比较两个字符串大小

两个字符串s1和s2,若s1=s2时,返回值为0;若s1不等于s2时,返回它们二者第一个不同字符的ASCII码差值(如"BOY"与"BAD",第二个字母不同,"O"与"A"之差为79-65=14)。如果s1 > s2,则输出正值;如果s1 < s2,则输出负值。
答案:

#include<stdio.h>
#include<string.h>
#define N 30
void main()
{
char s1[N],s2[N];
int i,j=0;
puts("输入字符串s1:");
gets(s1);
puts("输入字符串s2:");
gets(s2);
for(i=0;(s1[i]!='\0')&&(s2[i]!='\0');i++)
{
j=s1[i]-s2[i];
if(j!=0)
break;
}
if((s1[i]=='\0')&&(s2[i]=='\0'))
printf("%d\n",j);
else
printf("%d\n",s1[i]-s2[i]);
}

⑨ C语言字符串比较

c语言字符串比较用
strcmp()

strncmp()
用unsigned
char
变量则用整型量于等于于比较
文件比较程序用自编
unix,linux
用命令
diff,
比较两文件同比较输内容等要求命令行设
DOS
(windows/console)
用命令
COMP
比较两文件或文件同
与unix,linux
diff
同异
linux源码公兴趣diff程序载看我没看源码估计应用C写
diff用见unix,linux
man
page
COMP用见
HELP

⑩ C语言中判断两个字符串是否相同的方法

C语言提供了几个标准库函数,可以比较两个字符串是否相同。以下是用strcmp()函数比较字符串的一个例子:

#include <stdio. h>
#include <string. h>
void main (void);
void 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 equalto str_3.\n");
}

上例的打印输出如下所示:
str_1 is equal to str_2.
str_1 is not equal to str_3.

strcmp()函数有两个参数,即要比较的两个字符串。strcmp()函数对两个字符串进行大小写敏感的(case-sensitiVe)和字典式的(lexicographic)比较,并返回下列值之一:
----------------------------------------------------
返 回 值 意 义
----------------------------------------------------
<0 第一个字符串小于第二个字符串
0 两个字符串相等 ·
>0 第一个字符串大于第二个字符串
----------------------------------------------------
在上例中,当比较str_1(即“abc”)和str_2(即“abc”)时,strcmp()函数的返回值为0。然而,当比较str_1(即"abc")和str_3(即"ABC")时,strcmp()函数返回一个大于0的值,因为按ASCII顺序字符串“ABC”小于“abc”。
strcmp()函数有许多变体,它们的基本功能是相同的,都是比较两个字符串,但其它地方稍有差别。下表列出了C语言提供的与strcmp()函数类似的一些函数:
-----------------------------------------------------------------
函 数 名 作 用
-----------------------------------------------------------------
strcmp() 对两个字符串进行大小写敏感的比较
strcmpi() 对两个字符串进行大小写不敏感的比较
stricmp() 同strcmpi()
strncmp() 对两个字符串的一部分进行大小写敏感的比较
strnicmp() 对两个字符串的一部分进行大小写不敏感的比较
-----------------------------------------------------------------
在前面的例子中,如果用strcmpi()函数代替strcmp()函数,则程序将认为字符串“ABC”等于“abc”。