小编Cih*_*han的帖子

为什么此代码报告 -31 大于 6?

double max(int count, ...)我的程序中有一个函数。此函数应返回最大数字,但它报告-31 > 6. 我的错误在哪里?我正在尝试学习va_。我怎样才能解决这个问题?

double max(int count, ...)
{
    double max = INT_MIN, test;

    int i;
    va_list values;
    va_start(values, count);
    for (i = 0; i < count; ++i)
    {
        test = va_arg(values, double);
        if (test > max)
        {
            max = test;
        }
    }
    va_end(values);
    return max;
}

int main()
{
    printf("%ld", max(5, 1, 6, -31, 23, 24));
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c c++

0
推荐指数
1
解决办法
140
查看次数

标签 统计

c ×1

c++ ×1