21xrx.com
2025-03-25 16:42:36 Tuesday
文章检索 我的文章 写文章
C语言中如何比较字符串大小
2023-06-15 13:20:55 深夜i     --     --
C语言 字符串比较 strcmp

在C语言中,字符串的比较是一项经常需要用到的操作。与比较数值大小不同,字符串的比较需要考虑字符的ASCII码值。下面介绍两种比较字符串大小的方法:

1. 使用strcmp函数

strcmp函数可以比较两个字符串的大小,其返回值为0表示两个字符串相等,返回值为正数表示第一个字符串大于第二个字符串,返回值为负数表示第一个字符串小于第二个字符串。代码如下:

#include
#include
int main(){
  char str1[]="abc";
  char str2[]="abcd";
  int res=strcmp(str1,str2);
  if(res>0)
    printf("str1 > str2");
  else if(res<0)
    printf("str1 < str2");
  else
    printf("str1 = str2");
  return 0;
}

2. 自定义函数

我们可以使用循环依次比较字符串中每个字符的ASCII码值来模拟strcmp函数。代码如下:

#include
#include
int compare(char str1[],char str2[]){
  int i=0;
  while(str1[i]!='\0' && str2[i]!='\0'){
    if(str1[i]>str2[i])
      return 1;
    else if(str1[i]
      return -1;
    i++;
  }
  if(str1[i]=='\0' && str2[i]!='\0')
    return -1;
  else if(str1[i]!='\0' && str2[i]=='\0')
    return 1;
  else
    return 0;
}
int main(){
  char str1[]="abc";
  char str2[]="abcd";
  int res=compare(str1,str2);
  if(res>0)
    printf("str1 > str2");
  else if(res<0)
    printf("str1 < str2");
  else
    printf("str1 = str2");
  return 0;
}

  
  

评论区