C 如何比较两个多维数组

C 如何比较两个多维数组,c,C,我有两个多维数组 num[line][col] = { { '\0', '1', '\0', '\0', '\0' }, { '\0', '\0', '\0', '3', '\0' }, }; solution[line][col] = { { '5', '1', '3', '4', '2' }, { '4', '2', '5', '3', '1' },}; 我如何用num写? 2.如何比较num和解决方案

我有两个多维数组

num[line][col] = {
        { '\0', '1', '\0', '\0', '\0' },
        { '\0', '\0', '\0', '3', '\0'  },
        };  
solution[line][col] = {
        { '5', '1', '3', '4', '2' },
        { '4', '2', '5', '3', '1'  },};
我如何用num写? 2.如何比较num和解决方案? 多谢各位
根据您的示例,我将这样做:

#include <stdio.h>

#define line 2
#define col 5

int main(void){
int num[line][col] = {
        { '1', '1', '1', '1', '1' },
        { '1', '1', '1', '1', '1' },
    };

int solution[line][col] = {
        { '1', '1', '1', '1', '1' },
        { '1', '1', '1', '1', '1' },
    };


    for (size_t i = 0; i < line; ++i)
    {
        for (size_t j = 0; j < col; ++j)
        {
            if (num[i][j] != solution[i][j])
            {
                printf("Not equal\n");
                return 1;
            }
        }
    }
    printf("are equal\n");
}
尝试使用memcmp比较num和解决方案:


使用memcmp…With?Down Voter请解释是的,我的也立即被否决了。@MDXF Get used你会在这里看到这些东西。哦,我习惯了。这种情况以前发生过。我不介意销售代表,我只是喜欢帮助别人和分享我的编程经验。但是否决票没有任何意义。我对在memcmp中把什么作为第三个论点不太肯定。如果10是错的,请随意纠正我。请不要表现得像个懦夫,并解释你的理由。你知道,我不介意投反对票,因为我不是一个众议员瘾君子,但我不明白我的解决方案出了什么问题。它回答了这个问题,简洁明了,并且使用了适当的编程技术。请解释一下,因为我不是一个推销员,嗯。。。。那你一开始就不应该回答这个问题。顺便说一句:不要硬编码10-sizeof要好得多。@4386427正是我的想法,但我想我宁愿硬编码也不要错误地使用sizeof。我如何在这种情况下使用它?
are equal
char num[line][col] = {
    { '\0', '1', '\0', '\0', '\0' },
    { '\0', '\0', '\0', '3', '\0'  },
    };  
char solution[line][col] = {
    { '5', '1', '3', '4', '2' },
    { '4', '2', '5', '3', '1'  }, };

int main(void)
{
    printf("Comparing num[][] to solution[][]...\n");
    int result = memcmp(num, solution, 10);

    if (result != 0)
        printf("Not equal.\n");
    else
        printf("Equal.\n");

    return 0;
}