21xrx.com
2024-11-22 10:02:00 Friday
登录
文章检索 我的文章 写文章
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;

}

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复