Прокомментировать код - C (СИ) (71472)

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

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

Добрый вечер! я хочу просто разобраться в логике работы данного когда. можете пожалуйста описать, что и как тут происходит? и что получается на выходе и почему
Листинг программы
  1. int m[] = {1, 2, 3, 4, 5};
  2. int* p1 = m;
  3. int* p2 = m;
  4. p1 += 3;
  5. ++p2;
  6. ptrdiff_t dp = p2 - p1;
  7. int x = *p1;
  8. int y = *p2;
  9. std::cout << dp << x << y;

Решение задачи: «Прокомментировать код»

textual
Листинг программы
  1. int m[] = {1, 2, 3, 4, 5}; //объявлен целочисленный массив и проинициализирован
  2. int* p1 = m; //объявлено 2 указателя на этот массив
  3. int* p2 = m;
  4.  
  5. p1 += 3;//тут передвигают указатели р1 на +3 и р2 на +1
  6. ++p2;
  7.  
  8. ptrdiff_t dp = p2 - p1;//тут для меня не "совсем простая арифметика над указателями", самому интересно
  9. int x = *p1;// еще 2 указателя(поправьте, если не так!)
  10. int y = *p2;
  11.  
  12. std::cout << dp << x << y;// похоже на вывод на консоль, но как-то не для Си

Объяснение кода листинга программы

  1. Объявлен целочисленный массив и проинициализирован.
  2. Объявлено 2 указателя на этот массив.
  3. p1 += 3; передвигают указатели р1 на +3 и р2 на +1.
  4. ++p2;
  5. ptldiff_t dp = p2 - p1;.
  6. int x = *p1;.
  7. int y = *p2;.
  8. std::cout << dp << x << y;.

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


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

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

13   голосов , оценка 3.769 из 5

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

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

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