有人可以解释一下吗?这是关于数组和数组内部 if 语句的一些处理

Can someone explain me this? It's about arrays and some handling of an if statement inside of array

本文关键字:数组 处理 于数组 内部 if 语句 解释 一下      更新时间:2023-10-16

我不明白这段代码中if语句的部分。 是否可以使用 if 和 else if 来编写它?

int klein(int A[], int n, int& i, int X) 
{
int j;
int kl = -1; 
i = -1; 
for(j = 0; j < n; j++)
{

if(A[j] > X && (kl == -1 || A[j] < X)) 
{
i = j;                      
kl = A[j] ;                 
}
}
return kl;
}

以下代码等效于您的代码,因为if(A[j]>x)为真,那么(A[j]<x)为假,这使得(kl == -1 || A[j] < X))等同于kl == -1

int klein(int A[], int n, int& i, int X) 
{
int j;
int kl = -1; 
i = -1; 
for(j = 0; j < n; j++)
{

if(A[j] > X && kl == -1) 
{
i = j;                      
kl = A[j] ;                 
}
}
return kl;
}

现在,if语句说,如果A[j]>x并同时kl1执行{}