比较两个不同长度的char数组?

时间:2014-01-26 11:05:59

标签: c string string-comparison

有没有办法比较两个长度不同的char数组?

char_1[10] = "hello";
char_2[256] = "hello";

ret = strcmp(char_1,char_2); 
printf("%d\n", ret);

我没有得到0

我被允许使用我想要的任何图书馆......

谢谢!

3 个答案:

答案 0 :(得分:3)

你必须学习:

  • 如何描述你想做什么。
  • 如何提供完整的示例。

所以,你没有提供一个恰当的例子。它不编译。它充满了语法错误。这是一个很好的例子:

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

int main() {
    char char_1[10] = "hello";
    char char_2[256] = "hello";

    int ret = strcmp(char_1,char_2);
    printf("%d\n", ret);
}

正如预期的那样输出0

我们不知道你的真实代码是什么,所以我们无法知道你的问题是什么。

答案 1 :(得分:1)

以下是strcmp()功能的声明。

int strcmp(const char *str1, const char *str2)

参数:

str1 -- This is the first string to be compared.

str2 -- This is the second string to be compared.

返回值:

此函数返回的值如下:

if Return value if < 0 then it indicates str1 is less than str2

if Return value if > 0 then it indicates str2 is less than str1

if Return value if = 0 then it indicates str1 is equal to str2

strcmp(char_1,char_2);

答案 2 :(得分:0)

你的代码是正确的。 strcmp返回零。看看吧。

char_1[10]="hello"
char_2[256]="hello"

ret= strcmp (char_1,char_2); 
printf("%d\n",ret);