当前位置:首页 » 编程语言 » c语言strcmp

c语言strcmp

发布时间: 2022-01-08 01:40:40

Ⅰ strcmp在c语言中是什么意思呢

strcmp函数是string compare(字符串比较)的缩写,用于比较两个字符串并根据比较结果返回整数。基本形式为strcmp(str1,str2),若str1=str2,则返回零;若str1<str2,则返回负数;若str1>str2,则返回正数。


(1)c语言strcmp扩展阅读:

规则:

当s1<s2时,返回为负数;

当s1=s2时,返回值= 0;

当s1>s2时,返回正数。

即:两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇''为止。

Ⅱ [C语言] 关于strcmp函数的用法。万分感谢!

  1. strcmp的原型是int strcmp(const char *s1,
    const char *s2),s1、s2都被const修饰,可见函数体中对两个字符串进行只读操作。

  2. 比较从左至右按字符一一对应进行,遇到不等时得出结果,停止操作;无论哪个字符串先到达'',''也参与比较。

  3. 当s1的某个字符的ASCII值>s2对应字符的ASCII值时,函数返回+1,反之返回-1,当s1、s2完全一样(等长,对应字符相同)时返回0。

举例代码如下:

//#include"stdafx.h"//Ifthevc++6.0,withthisline.
#include"stdio.h"
#include"string.h"
intmain(void){
char*s1="12345fjksld;ajfkl;",*s2="12a",*s3="12a";
printf("s1<-->s2:%d ",strcmp(s1,s2));//输出-1,说明大小不由长度确定
printf("s2<-->s3:%d ",strcmp(s2,s3));//长度和字符对应相等是才输出0
printf("s2<-->s1:%d ",strcmp(s2,s1));//是参数1与参数2对比而不是相反
printf(" ");
return0;
}

Ⅲ C语言strcmp函数

两个字符串自左向右逐个字符相比,出现不同的字符b和B
s1>s2,返回正数;
因为ASCII码中B在b后面

原型:int strcmp(const char firststring[], const char secondstring);
功能:比较两个字符串firststring和secondstring
例程:
#include <iostream.h>
#include <string.h>
void main(void)
{
char buf1[] = "aaa";
char buf2[] = "bbb";
char buf3[] = "ccc";
int ptr;
ptr = strcmp(buf2,buf1);
if(ptr > 0)
cout <<"Buffer 2 is greater than buffer 1"<<endl;
else
cout <<"Buffer 2 is less than buffer 1"<<endl;
ptr = strcmp(buf2,buf3);
if(ptr > 0)
cout <<"Buffer 2 is greater than buffer 3"<<endl;
else
cout <<"Buffer 2 is less than buffer 3"<<endl;
}
运行结果是:Buffer 2 is less than buffer 1
Buffer 2 is greater than buffer 3

Ⅳ C语言 strcmp

s1++; s2++;后,s1指向了"ABCDEF"中的B,s2指向了"aB"中B。strcmp比较的是两个字符串,这里就是"BCDEF"和"B",显然前者大于后者,所以输出是1而不是0。

Ⅳ C语言字符比较(strcmp)

是string.h这个文件
给你改了下,你看下行不行

#include "stdio.h"
#include "conio.h"
#include <string.h>
int strcmp1(char *p1,char *p2)
{
while ((*p1==*p2)&&(*p1!='\0'))
{p1++;p2++;}
return(*p1-*p2);
}
main()
{ char s1[100],s2[100];int k;
puts("请输入字符串:");gets(s1);
puts("请输入字符串:");gets(s2);
k=strcmp1(s1,s2);printf("%d\n",k);
printf("%d",strcmp(s1,s2));
getch();
}

循环条件控制好像错了,

测试了下结果

相同的话 为0,前面大于后面 为正数,后面大于前面为负数

Ⅵ C语言中strcmp的用法是什么

int strcmp(char *str1, char *str2);

比较字符串str1和str2是否相同。如果相同则返回0;
如果不同,在不同的字符处如果str1的字符大于str2的字符,则返回1,否则返回-1
比如:
char a[]="abcd";
char *b="abcd";
char *d="abcde";
int d=strcmp(a,b); //那么d的值是0
d=strcmp(b,d); //d的值是-1 因为 '\0' 比'e' 小
d=strcmp(d,b); //d的值是1,因为 'e' 比'\0'大

Ⅶ c语言中strcmp的用法

strcmp是比较两个字符串的大小,两个字符串相同时返回0,第一个字符串大于第二个字符串时返回一个正值,否则返回负值。

比较两个字符串的算法是:逐个比较两个串中对应的字符,字符大小按照ASCII码值确定,从左向右比较,如果遇到不同字符,所遇第一对不同字符的大小关系就确定了两个字符串的大小关系,如果未遇到不同字符而某个字符串首先结束,那么这个字符串是较小的,否则两个字符串相等。

(7)c语言strcmp扩展阅读:

C语言主要有以下特点:

1、C语言在很多方面都可以用,不仅仅是在软件开发上,各类科研都是需要用到C语言的。具体应用比如我是学硬件的,单片机以及嵌入式系统都可以用C来开发。

2、C是结构式语言结构式语言的显着特点是代码及数据的分隔化, 即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰, 便于使用、维护以及调试。

C 语言是以函数形式提供给用户的, 这些函数可方便的调用, 并具有多种循环、条件语句控制程序流向, 从而使程序完全结构化。

3、C语言功能齐全C 语言具有各种各样的数据类型, 并引入了指针概念, 可使程序效率更高。另外C 语言也具有强大的图形功能, 支持多种显示器和驱动器。

而且计算功能、逻辑判断功能也比较强大, 可以实现决策目的编游戏,编3D游戏,做数据库,做联众世界,做聊天室,做PHOTOSHOP做FLASH,做3DMAX。

Ⅷ c语言strcmp

strcmp用于比较两字符串的大小;从字符串的第一位比起,依次比较两字符串相同位置上字符的ASCIIm码值,当第一次出现字符不同时,若前者的ASCII码值较大,则该函数返回1,相等,则返回0,若前者小,则返回-1;若int a;a=strcmp("ande","anud");第一个不同的字符出现在第三位,前者为d,后者为u,而d的ASCII值比u的ASCII值大,故函数返回1,即a的值为1.

Ⅸ C语言strcmp 使用方法

你错在if 语句后面 漏了一对扩号,以致未做交换。

void fun(struct st s[])
{
int i,j,it;
struct st t;
for (i=0;i<2;i++)
{it=i;
for (j=i+1;j<3;j++)
if (strcmp(s[it].name,s[j].name)>0){ // 注意括号
it=j;t=s[i];s[i]=s[it];s[it]=t;
};
}
}

scanf("%s",&stu[i],name); -- scanf("%s",&stu[i].name); // 点号
for (j=0;j<=2;j++)
scanf("%d",&stu[i].score[j]);// 注意格式,一个%d, 不是3个

Ⅹ C语言的strcmp是什么意思

if( (g_token.rule_type_code, "-1") != 0)
这句是错的,修改为:
if( strcmp(g_token.rule_type_code, "-1") != 0)

strcmp函数
strcmp函数是比较两个字符串的大小,返回比较的结果。一般形式是:

i=strcmp(字符串,字符串);

其中,字符串1、字符串2均可为字符串常量或变量;i 是用于存放比较结果的整型变量。比较结果是这样规定的:

①字符串1小于字符串2,strcmp函数返回一个负值;

②字符串1等于字符串2,strcmp函数返回零;

③字符串1大于字符串2,strcmp函数返回一个正值;那么,字符中的大小是如何比较的呢?来看一个例子。

实际上,字符串的比较是比较字符串中各对字符的ASCII码。首先比较两个串的第一个字符,若不相等,则停止比较并得出大于或小于的结果;如果相等就接着 比较第二个字符然后第三个字符等等。如果两上字符串前面的字符一直相等,像"disk"和"disks" 那样, 前四个字符都一样, 然后比较第 五个字符, 前一个字符串"disk"只剩下结束符'\0',后一个字符串"disks"剩下's','\0'的ASCII码小于's'的ASCII 码,所以得出了结果。因此无论两个字符串是什么样,strcmp函数最多比较到其中一个字符串遇到结束符'\0'为止,就能得出结果。

注意:字符串是数组类型而非简单类型,不能用关系运算进行大小比较。

if("ABC">"DEF") /*错误的字符串比较*/

if(strcmp("ABC","DEF") /*正确的字符串比较*/

热点内容
java反反编译 发布:2024-11-22 05:30:00 浏览:101
消毒液如何配置消毒酒精 发布:2024-11-22 05:29:53 浏览:60
oppor9s怎么加密短信 发布:2024-11-22 05:23:53 浏览:737
种子百度云上传失败 发布:2024-11-22 05:12:08 浏览:5
dmz主机不能访问 发布:2024-11-22 05:08:24 浏览:769
如何下载安卓平板hd 发布:2024-11-22 05:04:27 浏览:719
的简单算法 发布:2024-11-22 05:01:14 浏览:263
html5接金币源码 发布:2024-11-22 05:01:07 浏览:445
java同花顺 发布:2024-11-22 04:56:45 浏览:679
三消下落算法 发布:2024-11-22 04:54:21 浏览:993