我编写了一个函数,如果特定长度的数组中的所有元素都是正数,它会返回一个伪 bool 值。我觉得这可能效率低下:
int all_positive(int a[], unsigned int alen)
{
for(int i = 0 ; i < alen ; i++)
{
if(a[i] < 0)
{
return 0;
break;
}
else if(i == alen - 1)
{
return 1;
}
}
}
最佳答案
您可以清理它并使其更短:
int all_positive(int a[], unsigned int alen)
{
for(int i = 0 ; i < alen ; i++)
if(a[i] < 0)
return 0;
return 1;
}
我不确定这是否会更快。您的优化器可能也能做到这一点。
关于c - 这段代码是否尽可能高效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43442608/