Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
fs444
6 / 10 / 0
Регистрация: 18.08.2009
Сообщений: 480
#1

Вопрос по return - C++

11.03.2010, 20:16. Просмотров 388. Ответов 6
Метки нет (Все метки)

Написал код:
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
25
26
27
28
29
30
31
32
33
#include<iostream>
using namespace std;
 
#include<windows>
 
int Func1(int arg1); //функция, прибавляющая к заданному числу цифру "5", без return
int Func2(int arg2); //аналогично, но без return
 
int main()
{
   Func1(1);
   cout << endl;
   Func1(1);
   cout << endl;
 
   system("pause");
   return 0;
}
 
int Func1(int arg1)
{
   int newArg1;
   newArg1 = arg1 + 5;
   cout << newArg1;
   return newArg1;
}
 
int Func2(int arg2)
{
   int newArg2;
   newArg2 = arg2 + 5;
   cout << newArg2;
}
Вопрос: что меняет в Func1 строка «return newArg1;»? Ведь вывод-то у них одинаковый получается?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.03.2010, 20:16     Вопрос по return
Посмотрите здесь:

return - C++
Вот такой вопрос, как вернуть значения из функции, и чтоб функция main это узнала? если на примере, то во так, допучтим есть функция...

Матрицы return - C++
Немного украл кусок кода и появились небольшие проблемы. int&amp; cMatrix::operator(int * index) { int error=-1; if ( *index &lt; 0 ||...

Return value 3221225477 - C++
При компиляции выходит ошибка return value 3221225477. Помогите исправить ошибку. Версия Dev C++ 5.9.2.Может ли ошибка быть из-за версии. ...

return *char - C++
если функция дожна возвращать строку... как это сделать? я написала так: char* GetString(char *filename) { FILE *f1; char...

return массив - C++
Доброе время суток. У меня такой вопрос есть функция, она генерирует массив, как теперь вернуть этот массив, что бы потом использовать в...

return и ptheread - C++
Вот код создание двух потоков... #include&quot;stdafx.h&quot; #include &lt;stdio.h&gt; #include &lt;iostream&gt; #include &lt;pthread.h&gt; #include...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Sekt
156 / 155 / 10
Регистрация: 29.04.2009
Сообщений: 637
11.03.2010, 20:21     Вопрос по return #2
C++
1
2
3
4
5
6
int Func2(int arg2)
{
   int newArg2;
   newArg2 = arg2 + 5;
   cout << newArg2;
}
тут ошибка функция должна возвр значение.

C
1
2
3
4
5
6
7
int Func1(int arg1)
{
   int newArg1;
   newArg1 = arg1 + 5;
   cout << newArg1;
   return newArg1;
}
cout<<newArg1; вывод на экран.
след строка возвращаяет значение newArg1.
если написать так cout<<Func1(1);
то на экран выведет 1.
Genius Ignat
1235 / 773 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
11.03.2010, 20:24     Вопрос по return #3
что то про указатель мысль пришла, извиняюсь сделал правку.
fs444
6 / 10 / 0
Регистрация: 18.08.2009
Сообщений: 480
15.03.2010, 22:59  [ТС]     Вопрос по return #4
C++
1
2
3
4
5
6
7
int Func1(int arg1)
{
   int newArg1;
   newArg1 = arg1 + 5;
   cout << newArg1;
   return newArg1;
}
если написать так cout<<Func1(1);
то на экран выведет 1.
А почему 1? У меня все равно 6 выводит.
accept
4820 / 3240 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
16.03.2010, 05:00     Вопрос по return #5
Цитата Сообщение от fs444
Вопрос: что меняет в Func1 строка «return newArg1;»?
так как функция возвращает значение int типа, нужно делать return значение_int_типа;

смысл возвращаемого значения

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
    int sum;
    int prod;
    int result;
 
    sum = add(2, 3);
    prod = mul(2, 3);
    
    result = sum + prod;
 
...
 
int add(int a, int b)
{
    return a+b;
}
 
int mul(int a, int b)
{
    return a*b;
}
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
16.03.2010, 05:10     Вопрос по return #6
Цитата Сообщение от Sekt Посмотреть сообщение
то на экран выведет 1.
дважды. И не 1, а 6. Один раз функция выполнит
Цитата Сообщение от fs444 Посмотреть сообщение
C++
1
cout << newArg1;
, потом
C++
1
return
запихает
C++
1
newArg1
в некий
C++
1
temp
и
Цитата Сообщение от Sekt Посмотреть сообщение
C++
1
cout<<Func1(1);
выполнится как
C++
1
cout<<temp;
.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.03.2010, 11:33     Вопрос по return
Еще ссылки по теме:

Оператор return - C++
Помогите пожалуйста разобраться как работает оператор return. Что происходит после return n и после return fibonacci (n-1) + fibonacci...

Return в цикле for - C++
Прошу помощи - есть код вида int GetX(int i) { if (i % 2 == 0) { for (int j = 0; j &lt;= i; j++) { cout &lt;&lt; i -...

return + char* - C++
Как я понимаю, он вернет всякую чушь, потому что локальная переменная m уничтожается по завершению функции. Тогда нужно выделять память с...

Break и return - C++
Дано два кода на Си. #include&lt;stdio.h&gt; int func(char ,char); void main() { char sym,str; int z; printf(&quot;Vvedite stroky:\n&quot;); ...


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

Или воспользуйтесь поиском по форуму:
^Tecktonik_KiLLeR
1159 / 441 / 22
Регистрация: 23.06.2009
Сообщений: 6,230
Завершенные тесты: 1
16.03.2010, 11:33     Вопрос по return #7
Цитата Сообщение от fs444 Посмотреть сообщение
int Func1(int arg1) { int newArg1; newArg1 = arg1 + 5; cout << newArg1; return newArg1; }
юзер вводит данные. Например 5,функция возвращает данные+5,если вы ввели 5 то возвратит 10

Добавлено через 33 секунды
Цитата Сообщение от fs444 Посмотреть сообщение
А почему 1? У меня все равно 6 выводит.
правильно,написано же +5
Yandex
Объявления
16.03.2010, 11:33     Вопрос по return
Ответ Создать тему
Опции темы

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