Среда, 16.07.2025, 07:42
Приветствую Вас Гость | RSS
Главная | Каталог статей | Регистрация | Вход
.:: Меню ::.
.:: Категории каталога ::.
Разное [5]
Различные темы по программированию
Пакет SWT [4]
Практикуемся в написании оконных приложений на Java
Среды разработки, компиляторы и т.п [3]
Сравнения, описания, плюсы и минусы сред разработки. Сравнение компиляторов.
Java [8]
Объектно-ориентированные соображения.
Си++ [19]
Коротко и ясно
Ассемблер [6]
Машинные коды, побитно :)
Форма входа
.:: Поиск ::.
.:: Дополнительно ::.
    Хостинг от Loqo.ru
             .:: Коментируем ::.
Главная » Статьи » Текстовый материал » Си++

Лабораторная работа 1, задание 3
Code
#include <iostream>
#include <locale.h>

void obmen1(int x, int y) //Прямая передача
{
  int temp;
  temp = x;
  std::cout << "temp = " << temp << std::endl;
  x = y;
  std::cout << "x = " << x << std::endl;
  y = temp;
  std::cout << "y = " << y << std::endl;
}
void obmen2(int *x, int *y)// Передача параметра по ссылке
{
  int temp;
  temp = *x;
  *x = *y;
  *y = temp;
}
void obmen3(int& x, int& y)//Передача параметра по адресу
{
  int temp;
  temp = x;
  x = y;
  y = temp;
}

void main()
{
  int a = 2, b = 5;
  setlocale (LC_ALL,"rus");
  using std::cout;
  using std::endl;
  cout << "До обмена: a = " << a << ", b = " << b << endl;
  obmen1(a,b);
  cout << "После обмена 1: a = " << a << ", b = " << b << endl;
  obmen2(&a,&b);
  cout << "После обмена 2: a = " << a << ", b = " << b << endl;
  obmen3(a,b);
  cout << "После обмена 3: a = " << a << ", b = " << b << endl;
  system("pause");
}

результат

Эта программа иллюстрирует, каким образом можно передать значения переменной в функцию и произвести над ней определённые действия.

Опытным путём определено, что функция не может поменять значения переменных напрямую.
Внутри функции обмен проходит нормально, но входящие значения не меняются на выходе.

При работе с переменной на уровне адресов, обмен происходит, даже внутри функции.

Категория: Си++ | Добавил: C0demaker (12.06.2009)
Просмотров: 1124 | Рейтинг: 0.0/0
Всего комментариев: 0

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Ant1 © 2025