写一个函数的定义,isReverse

Kex*_*the -4 c

写一个函数isReverse的定义,它的前两个参数是相等大小的整数数组,第三个参数是一个整数,表示每个数组的大小.当且仅当一个数组与另一个数组相反时,该函数返回true.("Reverse"在这里表示相同的元素,但顺序相反.)

int isReverse(int array1[], int array2[], int size)
{ 
    int i;
    for (i=0;i<size;i++)
    {
        if(array1[i] == array2[size-1])
            return 0;
        else
            return 1;
    }
}
Run Code Online (Sandbox Code Playgroud)

我一直在收到错误.它出什么问题了.

Saj*_*hmi 5

当您return从函数中的任何块内部执行函数时,函数执行就会结束,所以在您的情况下,即使数组的第一个元素匹配不正确,您也要从函数返回,您应该检查整个数组然后从函数返回最后,检查下面的代码:

int isReverse(int array1[], int array2[], int size)
{ 
    int i,status=1;

    for (i=0;i<size;i++) //Size is the length of the array? if yes than you need -1 from it.
    {
        if(array1[i] == array2[size])
        {
            status=0;
            --size;
        }
        else
            return 1;
    }

    return status;
}
Run Code Online (Sandbox Code Playgroud)

此外,size-1不改变变量大小本身的值因此size在整个循环中保持相同,使用--size它将减少实际变量的值,从而每次递减1.