Объясните работу программы, выводящую на экран фигуру - C (СИ)
Формулировка задачи:
Всем привет!
Учу язык Си по книге, и после каждой главы есть упражнения, вот условие упражнении
Воспользуйтесь вложенными циклами, чтобы написать программу, которая выводит на печать следующую фигуру:
$
$$
$$$
$$$$
$$$$$
Я решил и все работает, только вот не могу понять как это работает
Прошу объяснить как работает второй for (никак не могу понять как она работает)
Вот код
#include <stdio.h>
#define row 5
int main(void)
{
int num, num2;
for (num = 0; num < row; num++)
{
for (num2 = num; num2 >= 0; num2--)
printf("$");
printf("%d\n", num);
}
return 0;
}Решение задачи: «Объясните работу программы, выводящую на экран фигуру»
textual
Листинг программы
#include <stdio.h> //включаем стандартную либу
#define row 5 // дефайним препроцессором row как 5
int main(void) //главная функция программы с не понятным приколом принятия воида (не понимаю такую вещь)
{
int num, num2; // объявляем две переменные типа целого числа
for (num = 0; num < row; num++) //делаем цикл от 0 до 4 по переменной num
{
for (num2 = num; num2 >= 0; num2--) // делаем второй цикл от состояния num до 0 по переменной
printf("$"); // печатаем не переходя на новую строку
printf("%d\n", num); //печатаем num и делаем переход строки
}
return 0;
}
Объяснение кода листинга программы
- Включаем стандартную библиотеку для работы с консолью.
- Делаем #define для переменной row, присваивая ей значение 5.
- Объявляем две переменные типа int, num и num2.
- Запускаем цикл for для переменной num от 0 до 4 (не включая 5).
- Внутри этого цикла запускаем второй цикл for для переменной num2 от текущего значения num до 0 (не включая 0).
- Внутри второго цикла выводим символ
$с помощью функции printf. - После завершения второго цикла выводим текущее значение переменной num с помощью функции printf и делаем переход на новую строку с помощью символа
\n. - После завершения первого цикла выводим символ
$с помощью функции printf. - Возвращаем 0, чтобы указать, что программа успешно завершилась.