有没有办法比较两个长度不同的char数组?
char_1[10] = "hello";
char_2[256] = "hello";
ret = strcmp(char_1,char_2);
printf("%d\n", ret);
我没有得到0
我被允许使用我想要的任何图书馆......
谢谢!
答案 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);