Я не понимаю, почему эта программа использует поплавки, но я получаю 4 вывода. Я думал, что плавает только выходные десятичные числа. Любая помощь будет оценена по достоинству, я играл главную роль в этом коде некоторое время.Почему этот код распечатывает 4?
#include <iostream>
#include <stdarg.h>
using namespace std;
float avg(int Count, ...)
{
va_list Numbers;
va_start(Numbers, Count);
int Sum = 0;
for (int i = 0; i < Count; ++i)
Sum += va_arg(Numbers, int);
va_end(Numbers);
return (Sum/Count);
}
int main()
{
float Average = avg(10, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9);
cout << Average;
return 0;
}
Используйте отладчик. – Amit
Помимо любой проблемы, у вас есть 'Sum + = va_arg (Numbers, int);' неверно. Вы переинтерпретируете 'float' как' int', и это не сработает вообще. –
@CaptainObvlious: Я думаю, что он должен вернуть среднее значение из 10 целых чисел. –