04
Дек
2016

Функция с неопределенным количеством аргументов

double equation_count(int count, double number, ...){
    double *p_number = &number, result = 0;
    int i;
    for(i=1; i <= count; i++){
        result+= pow(*p_number,i);
        p_number++;
    }

return result;
}
printf("%g",equation_count(2,2.0,3.0));

Функция должна возвращать сумму вещественных чисел в i cтепени.

В данном случае результат должен быть 11, но возвращает 1. Проблема где-то с типом данных, т.к. с целыми числами функция работает.

Источник: https://ru.stackoverflow.com/questions/599275/%D0%A4%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D1%8F-%D1%81-%D0%BD%D0%B5%D0%BE%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%BD%D1%8B%D0%BC-%D0%BA%D0%BE%D0%BB%D0%B8%D1%87%D0%B5%D1%81%D1%82%D0%B2%D0%BE%D0%BC-%D0%B0%D1%80%D0%B3%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%BE%D0%B2

Тебе может это понравится...

Добавить комментарий