C语言字符比较调用的函数 c语言字符串比较函数strcmp

单片机C语言字符串对比问题C语言字符串对比可以调用标准库函数strcmp 。
该函数声明在string.h中,形式为
int strcmp(char *a, char *b);
返回值有三种情况 , 1,0或-1.
其比较原则为:
【C语言字符比较调用的函数 c语言字符串比较函数strcmp】1 从第一个字符开始按照ascii码值比较 , 如果a的比b的大,返回1;如果a的比b的小,返回-1;如果相等 , 继续比较下一个字符 。
2 当遇到任意一个字符串达到尾部(值为\0),退出比较过程 。
3 如果长度相等,即二者均达到\0,返回0,此时表示二者相等 。
4 如果a的长度大,返回1 , 否则返回-1 。
编写一个C语言函数,比较两个字符串的大小#includelt;stdio.hgt;
#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(*agt;*b)
{
return 0;
}
else if(*alt;*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("agt;b\n");
}
else if(1==net2)
{
printf("alt;b\n");
}
else
{
printf("a=b\n");
}
return 0;
}
扩展资料:
一、return在函数中的作用
我们如果将函数看做一个加工厂 , 参数就是我们向加工厂投入的原料,具体的函数功能实际上就是加工的过程,而return语句代表返回值,就是加工厂在实现加工之后给“投资人”的成品 。
二、return语句的特点
1、在函数当中,遇到return语句之后就意味着函数运行的结束,在此之后的代码是不运行的 。
2、它不支持任何运算也没有任何内建方法,和任何其他的数据类型比较是否相等时永远返回false,也可以将None赋值给任何变量 。
3、执行到return语句时,会退出函数 , return之后的语句不再执行 。但将return语句放在try语句块中 , 是个例外 。
三、return的默认值:return函数默认的返回值为undefined 。
c语言strcmp函数?strcmp是字符串比较函数,调用形式为strcmp(字符串1,字符串2);
功能:字符串1与字符串2比较,如果字符串1==字符串2,则函数值为0,1大于2,则为正整数,1小于2,则为负整数;
从两个字符串的第一个字符开始逐个进行比较(按照ascii码
的大小进行比较) , 之道出现不同的字符或遇到“\0”为止 。例如:char*str1=hello , *str2=void;则strcmp(str1 , str2)0;因为‘h’'v';
C语言字符串比较函数#includestring.h
#includestdio.h
void main()
{
char str1={"abc"},str2={"485afsd"};
if(strcmp(str1,str2)0)printf("yes");
} 去掉个o就可以了 , 楼主要多看看编译器的使用方法,是什么错误在下方是有提示的
c语言两个字符串比较处理函数是哪一个extern int strcmp(const char *s1,const char *s2);
比较两个字符串
设这两个字符串为str1,str2,

推荐阅读