bool ordered(int args, double num, ...)
{
bool order = true;
double holder1, holder2;
va_list arguments;
va_start(arguments, num);
holder1 = va_arg(arguments, double);
for(int x = 2; x < args + 1; x++)
{
if(x % 2 == 0)
{
holder2 = va_arg(arguments, double);
if(holder1 > holder2)
order = false;
}
else if(x % 2 != 0)
{
holder1 = va_arg(arguments, double);
if(holder2 > holder1)
order = false;
}
}
va_end(arguments);
return order;
}
이 함수는 숫자가 오름차순으로 입력되었지만 함수를 전달한 것과 상관없이 false를 반환하는지 확인하려고합니다.다음 함수가 항상 false를 반환하는 이유를 알아낼 수 있습니까?
무엇이'holder2 = va_arg (arguments, double); '입니까? –
for-loop 안의 모든 것이 false를 반환하기 때문에 어쩌면 다른 것의 가능성이 없기 때문일 수 있습니까? – lifetimes
디버깅을 시도 했습니까? –