Это мой первый раз, когда я использую C++, и я пишу небольшую программу, суммирующую до десяти чисел (удваивает), которые будут введены в командной строке.Simple C++ Summing Program
Я написал следующий код, и я не могу понять, почему он не даст желаемого результата.
int main()
{
double num[10];
double sum = 0;
int i;
int n = 10;
while (scanf_s("%lf", &num) != EOF)
{
for (i = 0; i < n; ++i)
{
scanf_s("%lf", &num);
sum = sum + num[i];
}
}
cout << sum;
system("pause");
return 0;
}
Ввод данных прекращается с контролем Д. В моих глазах он должен работать нормально, но это не так. Может кто-то, пожалуйста, дайте мне несколько указателей на решение этого вопроса, я не просто хочу, чтобы мне сказали правильно, что я бы лучше изучил его сам.
Параметр 'Функция scanf' возвращает количество элементов, которые успешно были ввода, не EOF. –
Почему вам нужен внешний цикл while, когда у вас есть внутренний цикл, чтобы запросить номер для ввода 10 раз? –
Кроме того, 'num' - это массив. Для функции 'scanf' требуется адрес считываемого слота массива, а не адрес всего массива. –