如何比较2个字符数组

Tho*_*est 5 c

如何比较这两个字符数组以确保它们相同?

char test[10] = "idrinkcoke"
char test2[10] = "idrinknote"
Run Code Online (Sandbox Code Playgroud)

我正在考虑使用for loop,但我在其他地方读到了我无法test[i] == test2[i]用C 做的事情.

如果有人能帮到我,我真的很感激.谢谢.

art*_*rtm 11

但我在其他地方读到我无法在C中测试[i] == test2 [i].

那样比较逐个字符真的很痛苦.如果你想在这里比较两个字符数组(字符串),你应该使用strcmp:

if( strcmp(test, test2) == 0)
{
    printf("equal");
}
Run Code Online (Sandbox Code Playgroud)

编辑:

  • 初始化字符数组时无需指定大小.这会更好:

    char test[] = "idrinkcoke";
    char test2[] = "idrinknote";

  • 如果使用它也会更好strncmp- 一般来说更安全(如果字符数组碰巧是非NULL终止的).

    if(strncmp(test, test2, sizeof(test)) == 0)