int sum (int a, int b)
{
int c;
c = a + b;
return c;
}
Другие языки программирования и технологии
C++ кто может по простому объяснить куда и что вовращает оператор RETURN?
Возвращает значение переменной c, т. е. сумму a и b
Исполняемый файл возвращает некий код - число, которое на уровне командного процессора м. б. проанализирован. Для этого существуют две возможности : либо конструкция if errorlevel, либо переменная %errorlevel%
Туда, где вызвана функция.
не вовращяет а возвраящет.
это значит что если ты вызовешь метод то он будет тебе по мимо того что ты его теле написал выполнять, он еще и выводить какое нибудь значение будет. у тя в проге там он возвраящет значение суммы в виде переменной С. значит в другой функции можно сделать так cout << sum(10,2); и будет выведено значение 12
это значит что если ты вызовешь метод то он будет тебе по мимо того что ты его теле написал выполнять, он еще и выводить какое нибудь значение будет. у тя в проге там он возвраящет значение суммы в виде переменной С. значит в другой функции можно сделать так cout << sum(10,2); и будет выведено значение 12
если написать x = sum(1,2), то ретурн возвращает с, как результат выполнения функции, т. е. x будет равен 3
Виктор Сукиасян
спасибо. а если стоит return(0); return(1); return 32 ?
Виктор Сукиасян
или нет его? совсем
Виктор Сукиасян
в таких случая что делает ретурн?
int main()
{
int N;
setlocale(0, ""); // Включаем кириллицу
cout << "Введите число для вычисления факториала: ";
cin >> N;
cout << "Факториал для числа " << N << " = " << fact(N) << endl << endl; // fact(N) - функция для вычисления факториала.
system("pause");
return 0;
}
int main()
{
int N;
setlocale(0, ""); // Включаем кириллицу
cout << "Введите число для вычисления факториала: ";
cin >> N;
cout << "Факториал для числа " << N << " = " << fact(N) << endl << endl; // fact(N) - функция для вычисления факториала.
system("pause");
return 0;
}
на самом деле это выглядит так
004013E0 /$ 55 PUSH EBP //толкаем указатель на начало предыдущего фрейма
004013E1 |. 89E5 MOV EBP,ESP //сохраняем начало нового фрейма (сразу после адреса возврата), ибо ESP всегда будет указывать на верхушку стека
004013E3 |. 83EC 10 SUB ESP,0x10 // вообще-то для локальной переменной достаточно 4 байт
004013E6 |. 8B45 0C MOV EAX,DWORD PTR SS:[EBP+0xC]
004013E9 |. 8B55 08 MOV EDX,DWORD PTR SS:[EBP+0x8]
004013EC |. 01D0 ADD EAX,EDX
004013EE |. 8945 FC MOV DWORD PTR SS:[EBP-0x4],EAX
004013F1 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-0x4] //результат в eax
004013F4 |. C9 LEAVE // сокращенно от MOV ESP,EBP; pop EBP
004013F5 \. C3 RETN //результат в eax
00401420 |. 8945 F4 MOV DWORD PTR SS:[EBP-0xC],EAX
004013E0 /$ 55 PUSH EBP //толкаем указатель на начало предыдущего фрейма
004013E1 |. 89E5 MOV EBP,ESP //сохраняем начало нового фрейма (сразу после адреса возврата), ибо ESP всегда будет указывать на верхушку стека
004013E3 |. 83EC 10 SUB ESP,0x10 // вообще-то для локальной переменной достаточно 4 байт
004013E6 |. 8B45 0C MOV EAX,DWORD PTR SS:[EBP+0xC]
004013E9 |. 8B55 08 MOV EDX,DWORD PTR SS:[EBP+0x8]
004013EC |. 01D0 ADD EAX,EDX
004013EE |. 8945 FC MOV DWORD PTR SS:[EBP-0x4],EAX
004013F1 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-0x4] //результат в eax
004013F4 |. C9 LEAVE // сокращенно от MOV ESP,EBP; pop EBP
004013F5 \. C3 RETN //результат в eax
00401420 |. 8945 F4 MOV DWORD PTR SS:[EBP-0xC],EAX
Похожие вопросы
- Оператор return в c#.Зачем он нужен?
- Вопрос про оператор return в С++.
- Try{ }catch c++ Можете по-простому объяснить операторы try,catch? Cпасибо
- Оператор return в СИ
- Что значит возвращает значение функции? для чего нужен оператор return в си? как он работает?
- кто занет эти языки C++ C# Delphi Java.. Чем проще программировать, у каких их них есть будующее и другие советы за и ..
- что такое Операционная система MS DOS . объясните пжл по проще . объясните пжл по проще .
- (C++)Господа опытные программисты, прошу объяснить холопу-новичку что не так с кодом
- Программисты С/С++, объясните есть ли отличия в операторах ввода/вывода (cin/cout от printf/scanf)
- Что такое return. Объясните по простому, уже несколько статей и видеоуроков посмотрел, но так и не могу понять.
int main()
{
int N;
setlocale(0, ""); // Включаем кириллицу
cout << "Введите число для вычисления факториала: ";
cin >> N;
cout << "Факториал для числа " << N << " = " << fact(N) << endl << endl; // fact(N) - функция для вычисления факториала.
system("pause");
return 0;
}