Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
0 / 0 / 0
Регистрация: 18.06.2009
Сообщений: 20
1

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

26.11.2009, 20:00. Просмотров 1903. Ответов 5
Метки нет (Все метки)

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#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-ого массива:
C
1
2
3
4
5
6
7
8
9
10
11
12
 #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;
}
а второго массива нет
C
1
2
3
4
5
6
7
8
9
10
/* возводит 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?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.11.2009, 20:00
Ответы с готовыми решениями:

Односвязный список - объясните, как работают return 0 и return 1
проверьте, пжлса, по комментариям правильно ли я поняла принцип работы программы. Объясните, как...

Функция продолжает работу после return
Скажите, пожалуйста, почему эта штука упорно возвращает -1, при этом заполняя массив? КАК?! Как он...

Как вернуть два значения через return?
Вот пример. Мне нужно с помощью функции zero записать в х0=0 , а в х1=1. вооооот, вообщем я хз...

Почему функция может не завершаться после выполнения return?
В одном из моих проектов есть рекурсивная функция поиска элемента в дереве по ключу: node*...

5
эволюционирую потихоньку
468 / 466 / 91
Регистрация: 30.06.2009
Сообщений: 1,401
26.11.2009, 20:14 2
поправил синтаксис
вижу три колонки цифр, чего тебе не хватает?
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <stdio.h>
#include <conio.h>
int power(int m, int n);
 
/* тест функции power */
int main()
{
    int i;
    for (i = 0; i < 10; ++i)
        printf("%d %d %d\n", i, power(2,i), power(-3,i));
    getch();
    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;
}
0
0 / 0 / 0
Регистрация: 18.06.2009
Сообщений: 20
26.11.2009, 20:16  [ТС] 3
Я тоже вижу 3 колонки цифр. А 2 массив /* возводит base в n-ю степень, n >= 0 */
C
1
2
3
4
5
6
7
8
9
int power(int base, int n)
{
        int i, p;
 
        p = 1;
        for (i = 1; i <= n; ++i)
                p = p * base;
        return p;
}
для чего создан?
0
эволюционирую потихоньку
468 / 466 / 91
Регистрация: 30.06.2009
Сообщений: 1,401
26.11.2009, 20:40 4
что вы имеете в виду под словом массив?
то что вы выделили как код С это вспомогательная фунция. в комментах /* */ написанно для чего она нужна.
0
0 / 0 / 0
Регистрация: 18.06.2009
Сообщений: 20
26.11.2009, 21:00  [ТС] 5
Я имею ввиду тот код который я выделил. А для чего создана это вспомогательная функция ведь роли она никакой не играет?
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
10842 / 6673 / 1614
Регистрация: 25.07.2009
Сообщений: 12,442
27.11.2009, 00:56 6
Цитата Сообщение от Nitrex Посмотреть сообщение
Я имею ввиду тот код который я выделил. А для чего создана это вспомогательная функция ведь роли она никакой не играет?
Ну удалите её (за ненадобностью ) и посмотрите, что будет...
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.11.2009, 00:56

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Что это isOk(int s),setAge(int g){if(isOk(g){age=g;return true;}else{.;return false;}}.getName(){return name;}?
package com.company; import java.io.Serializable; public class person implements Serializable {...

Redirect после return - возможен?
Добрый день! В контроллере есть post-метод: public ActionResult Wait(Guid? id) { .... return...

Как сделать так, что если файл существует return true, если нет - return false
Здравствуйте, я новичок в программировании. Мой вопрос очень прост: как сделать так, что если файл...

Что означает выражение стоящее после return?
Всем привет. Довольно часто в уроках по c++. Вижу после написания программы либо функциии....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.