我制作了一个检查数组边界的函数。为什么我的第二个解决方案不执行与我的第一个解决方案相同的任务?这是优先级问题,还是三元组使用不当?
解决方法#1:
bool check_bounds(double* score, int size)
{
bool result=false;
for(int i=0; i<size; i++)
{
if(score[i] < 0.0 || score[i] > 100.0)
{
result=true;
}
}
return result;
}
// usage
if(check_bounds(score, size) { i--; }
解决方法#2:
bool check_bounds(double* score, int size)
{
bool is_valid;
for(int i=0; i<size; i++)
{
is_valid = (score[i] < 0.0 || score[i] > 100.0) ? true : false;
}
return is_valid;
}