當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


C語言 strcmp()用法及代碼示例


C庫函數int strcmp(const char *str1, const char *str2)比較指向的字符串,通過str1指向的字符串str2

字符數組稱為字符串。

聲明

以下是數組的聲明 -

char stringname [size];

例如 - char string[50];長度為 50 個字符的字符串

初始化

  • 使用單字符常量 -
char string[10] = { ‘H’, ‘e’, ‘l’, ‘l’, ‘o’ ,‘\0’}
  • 使用字符串常量 -
char string[10] = "Hello":;

Accessing− 有一個控製字符串 "%s" 用於訪問字符串,直到遇到“\0”。

strcmp() 函數

  • 此函數比較兩個字符串。

  • 它返回兩個字符串中前兩個不匹配字符的 ASCII 差異。

字符串比較

語法如下 -

int strcmp (string1, string2);

如果差值為零 ------ string1 = string2

如果差為正 ------- string1> string2

如果差值為負 ------- string1 <string2

示例程序

以下程序顯示了 strcmp() 函數的用法 -

#include<stdio.h>
main ( ){
   char a[50], b [50];
   int d;
   printf ("enter 2 strings:\n");
   scanf ("%s %s", a,b);
   d = strcmp (a,b);
   if (d==0)
      printf("%s is equal to %s", a,b);
   else if (d>0)
      printf("%s is greater than %s",a,b);
   else if (d<0)
      printf("%s is less than %s", a,b);
}

輸出

執行上述程序時,會產生以下結果 -

enter 2 strings:
bhanu
priya
bhanu is less than priya

讓我們看另一個關於 strcmp() 的例子。

下麵給出的是使用 strcmp 庫函數比較兩個字符串的 C 程序 -

示例

#include<stdio.h>
#include<string.h>
void main(){
   //Declaring two strings//
   char string1[25],string2[25];
   int value;
   //Reading string 1 and String 2//
   printf("Enter String 1:");
   gets(string1);
   printf("Enter String 2:");
   gets(string2);
   //Comparing using library function//
   value = strcmp(string1,string2);
   //If conditions//
   if(value==0){
      printf("%s is same as %s",string1,string2);
   }
   else if(value>0){
      printf("%s is greater than %s",string1,string2);
   }
   else{
      printf("%s is less than %s",string1,string2);
   }
}

輸出

執行上述程序時,會產生以下結果 -

Enter String 1:Tutorials
Enter String 2:Point
Tutorials is greater than Point

相關用法


注:本文由純淨天空篩選整理自Bhanu Priya大神的英文原創作品 What is strcmp() Function in C language?。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。