卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章64336本站已运行4115

c语言怎么对比字符串

c 语言中比较字符串的方法有:使用 strcmp() 函数比较两个字符串的全部内容。使用 strncmp() 函数比较两个字符串的前 n 个字符。使用循环和字符比较手工比较字符串。

c语言怎么对比字符串

C 语言中比较字符串的方法

在 C 语言中,字符串表示为字符数组。要比较两个字符串,可以使用以下方法:

1. 使用 strcmp() 函数

strcmp() 函数比较两个字符串,返回一个整数:

  • 如果字符串相等,返回 0。
  • 如果第一个字符串小于第二个字符串,返回一个负数。
  • 如果第一个字符串大于第二个字符串,返回一个正数。

示例:

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

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

  int result = strcmp(str1, str2);

  // 打印结果
  printf("strcmp() result: %dn", result);

  return 0;
}</string.h></stdio.h>

该代码将打印 -5,因为 "Hello" 小于 "World"。

2. 使用 strncmp() 函数

strncmp() 函数比较两个字符串的前 n 个字符,返回一个整数:

  • 如果前 n 个字符相等,返回 0。
  • 如果第一个字符串的前 n 个字符小于第二个字符串的前 n 个字符,返回一个负数。
  • 如果第一个字符串的前 n 个字符大于第二个字符串的前 n 个字符,返回一个正数。

示例:

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

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

  int result = strncmp(str1, str2, 5);

  // 打印结果
  printf("strncmp() result: %dn", result);

  return 0;
}</string.h></stdio.h>

该代码将打印 0,因为 "Hello" 和 "HelloWorld" 的前 5 个字符相等。

3. 使用循环和字符比较

也可以使用循环和字符比较手工比较字符串:

#include <stdio.h>

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

  int i = 0;
  int result = 0;

  while (str1[i] != '0' &amp;&amp; str2[i] != '0') {
    if (str1[i]  str2[i]) {
      result = 1;
      break;
    }

    i++;
  }

  if (str1[i] == '0' &amp;&amp; str2[i] != '0') {
    result = -1;
  } else if (str1[i] != '0' &amp;&amp; str2[i] == '0') {
    result = 1;
  }

  // 打印结果
  printf("手工比较结果: %dn", result);

  return 0;
}</stdio.h>

该代码将打印 -1,因为 "Hello" 小于 "World"。

卓越飞翔博客
上一篇: c语言位域怎么用
下一篇: c语言longlong语句怎么用
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏