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

c语言将两个字符串做比较

发布时间: 2022-06-26 23:26:38

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函数比较字符和字符串是否相等。

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

函数形式:strcmp(str1,str2)

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

结果说明:

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

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

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

③ 如何用C语言编写一程序,实现对两个字符串进行比较,然后输出两个字符串中第一个不同字符的ASCII码之差

声明两个char型数组,输入两个字符串存入a和b。用一个for循环依次比较a和b对应的字符,不同时结束比较,然后计算这两个不同字符的差值输出。代码如下:

#include"stdio.h"
intmain(intargc,char*argv[]){
chara[101],b[101],i;
printf("Input2strings... ");
scanf("%100s%100s",a,b);//输入字符串并限制长度
for(i=0;a[i]==b[i]&&(b[i]||a[i]);i++);//比较到不同字符或结束符
a[i]?printf(" '%c'",a[i]):printf(" '\0'");//输出a串与b串不同的字符
b[i]?printf("-'%c'",b[i]):printf("-'\0'");//输出-b串与a串不同的字符
printf("=%d ",a[i]-b[i]);//输出a串与b串第一个不同字符的差值
return0;
}

运行样例如下:

④ C语言 比较 俩个字符串

汗,用得着那样么。。。。。。
直接输入一个a、b就行了。。。。。。
而且for循环没有加“{}”吧。。。。。。
打印出的有三种情况:(ascll码比较)
1、a>b的话输出大于0的数
2、a=b的话输出0
3、a<b的话输出小于0的数
我只会用c++,不知道其区别,可能是这样吧。
顺便说一下,字符串组不是10个字符串,而是一个长为10的字符串!

⑤ C语言中,两个字符串可以用关系运算符进行大小比较吗!!!求大神!求解析!

C语言字符串比较不能直接用关系运算符进行正确比较。
可以用 字符串比较函数strcmp
格式: strcmp(字符数组名1,字符数组名2)
功能:按照ASCII码顺序比较两个数组中的字符串,并由函数返回值返回比较结果。
字符串1=字符串2,返回值=0;
字符串2〉字符串2,返回值〉0;
字符串1〈字符串2,返回值〈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]");
}