C ++ strcmp()函数

时间:2020-02-23 14:29:53  来源:igfitidea点击:

C ++ strcmp()函数入门

C ++ strcmp()函数是从字法上比较两个字符串的有效方法。

strcmp()函数以字典的方式比较两个输入字符串,并根据两个输入字符串的比较结果返回一个整数值。

通过词典比较,我们的意思是,实际上将两个字符串与每个字符的ASCII值进行比较。
如果发现相同,则返回零,并且说该字符串相等。

语法:

strcmp(string1,string2)

例:

#include<stdio.h> 
#include<string.h> 

int main() 
{  
    
  char str1[] = "Python"; 
  char str2[] = "Python"; 
    

  if(strcmp(str1, str2)==0)
  printf("Strings are equal");
  else
  printf("\nThe strings are not equal");
  
  return 0; 
} 

输出:

Strings are equal

strcmp()函数返回的值

strcmp()按字典顺序比较字符串,并根据比较结果返回以下两个值之一:

  • value = zero(0):如果两个字符串在字典上相等,即两个字符串相同,则该函数返回0。

  • "值>零(0)":如果字符串1的第一个不匹配字符的ASCII值大于字符串2中出现的字符,则它返回大于零的值。

  • value <zero(0):如果string1的第一个不匹配字符的ASCII值小于string2中出现的字符,则返回小于零的值。

变体1:strcmp()函数返回零(0)

如果两个字符串相同,则strcmp()函数将返回零。

例:

#include<stdio.h> 
#include<string.h> 

int main() 
{  
    
  char str1[] = "Python"; 
  char str2[] = "Python"; 
    
 int val_strcmp=0;
  val_strcmp = strcmp(str1, str2);
  printf("The return value of strcmp() function: %d" , val_strcmp); 
  return 0; 
} 

输出:

The return value of strcmp() function: 0

形式2:strcmp()函数返回值"大于零"

如果发现string1的第一个不匹配字符的ASCII值大于string2的相应字符的ASCII值,则返回大于零的值。

让我们举个例子:

string1 =" yz"

string2 =" ab"

strcmp(string1,string2)

当两个字符串不相同时,该函数返回两个字符串的第一个不匹配字符的ASCII值之间的差。

在上面的示例中,该函数返回24,因为ASCII值" y" – ASCII值" a"为24

即121 – 97 = 24

例:

#include<stdio.h> 
#include<string.h> 

int main() 
{  
    
  char str1[] = "wxyz"; 
  char str2[] = "abcd"; 
    
 int val_strcmp=0;
  val_strcmp = strcmp(str1, str2);
  printf("The return value of strcmp() function: %d" , val_strcmp); 
  return 0; 
} 

在上述代码段中," w"的ASCII值–" a"的ASCII值大于零,即119 – 97 = 22

输出:

The return value of strcmp() function: 22

变体3:strcmp()函数返回值"小于零"

如果第一个字符串的第一个不匹配字符的ASCII值小于第二个字符串的那个特定字符的ASCII值,则strcmp()函数返回的值小于零。

考虑以下字符串:string1 =" ab"和string2 =" yz"

ASCII值" a"小于ASCII值" y",即97 – 121 = -24。

因此,该函数返回的值小于零,即-24。

例:

#include<stdio.h> 
#include<string.h> 

int main() 
{  
    
  char str1[] = "ab"; 
  char str2[] = "yz"; 
    
 int val_strcmp=0;
  val_strcmp = strcmp(str1, str2);
  printf("The return value of strcmp() function: %d" , val_strcmp); 
  return 0; 
} 

输出:

The return value of strcmp() function: -24

C ++ strcmp()方法

  • strcmp()函数以字典方式比较字符串的字符。

  • 此外,该函数根据比较结果返回一个整数。

  • 如果第一个字符串的第一个不匹配字符的ASCII值大于第二个,则返回大于零的整数值。

  • 如果字符串相同,则该函数返回零。

  • 如果第一个字符串的第一个不匹配字符的ASCII值小于第二个,则函数返回小于零的值