當前位置:首頁 » 編程語言 » 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") /*正確的字元串比較*/

熱點內容
iqoo安卓11變聲器在哪裡 發布:2024-12-22 15:46:45 瀏覽:251
ie鎖定初始密碼在哪裡找 發布:2024-12-22 15:44:48 瀏覽:295
linuxtcp窗口 發布:2024-12-22 15:34:24 瀏覽:947
安卓官翻機和原裝有什麼區別 發布:2024-12-22 15:34:24 瀏覽:661
linux掛載的磁碟 發布:2024-12-22 15:34:23 瀏覽:233
密碼不允許含有字元是什麼意思 發布:2024-12-22 15:30:15 瀏覽:168
圖片壓縮求 發布:2024-12-22 15:05:28 瀏覽:780
我的世界tis伺服器怎麼加 發布:2024-12-22 14:48:09 瀏覽:579
方舟伺服器虛擬內存是什麼意思 發布:2024-12-22 14:21:52 瀏覽:956
磁力片編程課 發布:2024-12-22 14:10:57 瀏覽:272