1

哪个实现更好,为什么?

使用 for 循环或 memcmp() 实现逐个元素进行比较

int a[] = {1,2,3};
int b[] = {1,3,5};

memcmp(a, b, sizeof(int)*n)

或者

 for (i = 0; i < n ; i++)
    {
       if (a[i] == b[i])
        {
            /* some Code */
        }
    }
4

1 回答 1

0

memcmp更快:编译器通常对它进行大量优化,以在 cpu 上使用特殊指令、循环展开和其他为简单循环生成的代码(通常)不会使用的“高级”技术。但是,memcmp只能比较字节值;在整数数组的情况下很好,但它(可能)不适用于对象数组。

于 2013-05-14T06:51:58.957 回答