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

c语言比较字符串a和b

发布时间: 2023-05-24 02:51:45

c语言中判断字符串a>b,应当使用

选C

strcmp是比较两个字符串的大小,两个字符串相同时返回0,第一个字符串大于第二个字符串时返回一个正值,否则返回负值.
比较两个字符串的算法是:逐个比茄团携念较两个串中对应的字符,字符大小颤隐橘按照ASCII码值确定,从左向右比较,如果遇到不同字符,所遇第一对不同字符的大小关系就确定了两个字符串的大小关系,如果未遇到不同字符而某个字符串首先结束,那么这个字符串是较小的,否则两个字符串相等。

❷ 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语言判断字符串a和b是否相等应该用

你都说了是字符串
第一,==比较的是字符串的地址,而不是错在==
第二,strcmp返回值有三纳逗蠢种情况(大于、洞陪小于、等于),既然你指雹要的是相等,当然要非一下

❹ 如何用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中的两个字符串是否相等(比较对应字符,全部相同输出0,如果不同,返

#include<stdio.h>
int compare(char a[100],char b[100])//定义一个比较两个字符串函数a[100], b[100]分别是形参
{
int i,j;
for(i=0;a[i]!='\0'||b[i]!='\0';i++)
if(a[i]!=b[i])
{
j=(a[i]-'0')-(b[i]-'0');
return(j);
}
return(0);
}
void main()
{
char a[100]="手升Hello World!"悉谈;
char b[100]="Hello Cheng!";
int m;
m=compare(a,b);//调用compare函数,a,b是实参
printf("%d\n"睁薯碰,m);//这步实际没必要,只是为了在主函数中知道结果而已
}

❻ c语言判断字符串a和b是否相等应该用

用库函数strcmp
当相等的时候 会返回0
于是是
strcmp(a,b)==0

❼ c语言中字符串怎么进行比较大小

您好,我是软件之家的♂北极熊熊,很高兴为您解答。
c语言字符串的比较规则就是按两个字符串从头开始比较字符的ascii码大小
比如"abc">"aacvs",和长度没关系
从第一个字符开始比,如果字符串a的字符>字符串b的字符,则a>b
如果相同,就一直往后比
如满意,谢谢五星采纳~~~~~

❽ c语言用关系表达式比较两数大小

字符串的比较不能用关系表达式,因为关系表达式比较的是内存中数值的大小,如果字符串a和字符串b用关系表达式a<
b比较,比较的是a和b字符串第一个元素的,地址的大小,因为数组名即为第一个元素的地址。所以只能够用strcmp,或者自己写一个比较的函数。
sizeof()用于求类型的大小,是一个关键字,如sizeof(int),表示求int
类型所占内存的大小。

❾ C语言: 定义一个宏,比较a、b的大小,不要用大于、小于和IF运算符

代码如下:

#include "stdio.h"

void main()

{

float a, b ,c;

printf ("请输入三个数,会为你从大到小排列! ");

scanf("%f %f %f",&a,&b,&c);

if(a>b>c){printf("%f,%f,%f",a,b,c);}

else if(a>c&&c>b){printf("%f,%f,%f",a,c,b);}

else if(b>a&&a>c){printf("%f,%f,%f",b,a,c);}

else if(b>c&&c>a){printf("%f,%f,%f",b,c,a);}

else if(c>b&&b>a){printf("%f,%f,%f",c,b,a);}

else if(c>a&&a>b){printf("%f,%f,%f",c,a,b);}

//编译器不识别三个连续的符号运算,必须用且(&&)和或(||)he否(!)

}

(9)c语言比较字符串a和b扩展阅读

C语言中宏定义的优点

方便程序的修改

使用简单宏定义可用宏代替一个在程序中经常使用的常量,这样在将该常量改变时,不用对整个程序进行修改,只修改宏定义的字符串即可,而且当常量比较长时, 可以用较短的有意义的标识符来写程序,这样更方便一些。

相对于==全局变量==两者的区别如下:

1、宏定义在编译期间即会使用并替换,而全局变量要到运行时才可以。

2、宏定义的只是一段字符,在编译的时候被替换到引用的位置。在运行中是没有宏定义的概念的。而变量在运行时要为其分配内存。

3、宏定义不可以被赋值,即其值一旦定义不可修改,而变量在运行过程中可以被修改。

4、宏定义只有在定义所在文件,或引用所在文件的其它文件中使用。 而全局变量可以在工程所有文件中使用,只要再使用前加一个声明就可以了。换句话说,宏定义不需要extern。

❿ strcmp(a,b) c语言 比较字符串的大小!

这个函数用以比较a b两个字符串的大小,先比两个字符串第一个孝衡枣字符的大小,若相等则巧拆比较第二个,以此类推,直到比出较大的那个。若两者相等,则表达式的值拦历为零,若a大于b,则值为正,否则为负。