Функции с переменным числом параметров: объяснить код - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Листинг программы
  1. #include <iostream>
  2. #include <math.h>
  3. using namespace std;
  4. int sum(int k, ...)
  5. {
  6. int s = 0, *p = &k+1 ;//настроили указатель на параметр k
  7. for (int t=0;t<k-1;t++)
  8. {
  9. if(!(t%2))
  10. s+=(*p)*(*(p+1));
  11. else s+=(*(p)*(*(p+1)));
  12. p++;
  13. }
  14. return s;
  15. }
  16. int main()
  17. {
  18. cout << sum(5,2,1,4,3,5)<< endl;//2*1-1*4+4*3-3*5=2-4+12-15=-5
  19. cout << sum(10,1,1,1,4,2,6,3,1,2,2) << endl;
  20. cout << sum(12,0,1,6,0,1,5,8,2,5,4,2,0) << endl;
  21. return 0;
  22. }
можете объяснить как работает это условие
Листинг программы
  1. if(!(t%2))
  2. s+=(*p)*(*(p+1));
  3. else s+=(*(p)*(*(p+1)));
  4. p++;

Решение задачи: «Функции с переменным числом параметров: объяснить код»

textual
Листинг программы
  1. else s-=(*(p)*(*(p+1)));

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.133 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы