c语言中比较大小函数 c语言比较大小的原理

c语言中比较字符串的strcmp函数是怎么比较大小的?

从左到右,依次比较字母的ASCII码的大小,遇到不同字符或'\0'结束。

创新互联提供成都网站制作、做网站、外贸营销网站建设、网页设计,品牌网站制作1元广告等致力于企业网站建设与公司网站制作,十多年的网站开发和建站经验,助力企业信息化建设,成功案例突破上1000家,是您实现网站建设的好选择.

基本形式:strcmp(str1,str2)

str1=str2时,返回零;str1str2时,返回负数;str1str2时,返回正数。

比如Apple和Banana比较,先比较第一个字母A和B,A的ASCII码是65,B的是66,所以AppleBanana。

compare和computer比较,前4个字母相同,第五个字母a和u,a的ASCII码是97,u的是117,所以comparecomputer。

扩展资料:

特别注意:

strcmp(const char *s1,const char * s2)这里面只能比较字符串,即可用于比较两个字符串常量,或比较数组和字符串常量,不能比较数字等其他形式的参数。

ANSI标准规定,返回值为正数,负数,0 。而确切数值是依赖不同的C实现的。

1、当两个字符串不相等时,C标准没有规定返回值会是1 或 -1,只规定了正数和负数。

2、有些会把两个字符的ASCII码之差作为比较结果由函数值返回。但无论如何不能以此条依据作为程序中的流程逻辑。

C语言函数比较大小

代码如下:

#include stdio.h

#include stdlib.h

int max(int a, int b) 

{

return a  b ? a : b;

}

int main()

{

int i, m, n;

scanf("%d", m);

for (i = 1; i  8; i++) {

scanf("%d", n);

m = max(m, n);

}

printf("最大数:%d\n", m);

system("pause");

return 0;

}

运行结果:

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

在C语言中比较字符串大小,可以使用库函数strcmp,也可以自己编写比较函数。

1、使用库函数。

需要包含头文件string.h。声明为:

int strcmp(const char *s1, const char *s2);

会根据字典序比较s1和s2, 如果二者相等,则返回0;如果s1较小则返回-1;如果s1较大则返回1。

比如

strcmp("123", "123") 结果为0。

strcmp("123", "456") 结果为-1。

strcmp("456", "123") 结果为1。

2、自定义函数。

实现字符串比较的方法有很多,其基本原理为按字节比较。

举例如下:

int my_strcmp(char *s1, char *s2)

{

int i;

for(i = 0; s1[i] == s2[i]  s1[i]!=0; i++);//循环比较,达到结束或者出现不相等值时退出循环。 

if(s1[i] == s2[i]) return 0;//代表全部相等,返回0

if(s1[i]s2[i]) return -1;//s1较小,返回-1。

return 1;//s1较大,返回1.

}


分享名称:c语言中比较大小函数 c语言比较大小的原理
浏览路径:http://azwzsj.com/article/doscgsp.html