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循環中的所有內容都返回false,所以沒有其他任何可能? – lifetimes
你試過調試過嗎? –