Как происходит передача значения после return 0 и почему после return ставится 0 - C (СИ)

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

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

#include <stdio.h>
 
int power(int m, int n);
 
/* тест функции power */
main()
{
    int i;
    for (i = 0: i < 10, ++i)
        printf(“%d %d %d\n”, i, power(2,i), power(-3,i));
    return 0;
}
 
/* возводит base в n-ю степень, n >= 0 */
int power(int base, int n)
{
    int i, p;
 
    p = 1;
    for (i = 1; i <= n; ++i)
        p = p * base;
    return p;
}
Я изучаю язык си по книге Кернигана и Ритчи И у меня возникла множество вопросов. Я знаю, что функция return создана для передачи значения в другую функцию и выхода из самой функции. При компиляции я увидел значения только 1-ого массива:
 #include <stdio.h>
 
int power(int m, int n);
 
/* тест функции power */
main()
{
    int i;
    for (i = 0: i < 10, ++i)
        printf(“%d %d %d\n”, i, power(2,i), power(-3,i));
    return 0;
}
а второго массива нет
/* возводит base в n-ю степень, n >= 0 */
int power(int base, int n)
{
    int i, p;
 
    p = 1;
    for (i = 1; i <= n; ++i)
        p = p * base;
    return p;
}
Но даже если я впишу printf("%d, p") при компиляции выходят не понятные значения. Также я не понимаю как происходит передача значения после return 0 и почему после return ставится 0, а во втором массиве p?

Решение задачи: «Как происходит передача значения после return 0 и почему после return ставится 0»

textual
Листинг программы
int power(int base, int n)
{
        int i, p;
 
        p = 1;
        for (i = 1; i <= n; ++i)
                p = p * base;
        return p;
}

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

В данном коде реализуется функция с именем power, которая принимает два целых числа в качестве аргументов и возвращает результат возведения первого числа в степень, заданную вторым числом. Внутри функции объявлены две переменные: i и p. Переменная i используется как счётчик в цикле, а переменная p — как промежуточный результат. Изначально значение p равно 1. Цикл начинается с i=1 и выполняется до тех пор, пока i не станет больше n. На каждой итерации значение p умножается на значение base, то есть на аргумент функции, и затем переменная i увеличивается на 1. После завершения цикла значение переменной p возвращается как результат работы функции. Значение 0, которое стоит после return, является стандартным значением, которое возвращает функция в случае успешного завершения. Оно не имеет отношения к самому вычислению степени.

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


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

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

8   голосов , оценка 4.125 из 5
Похожие ответы