Правильно ли я описал передачу параметров из функции С++?

Поправьте, если где-то не прав и/или ошибся: Опустим первые строки. В параметры функции compare передаём переменные a, b и два целочисленных указателя. Перейдём сразу в функцию main. Инициализируем 4 переменные типа int, вводим два значения. Передаём в параметры функции compare x и y, который он запишет в переменные a и b. Дальше, как я понял, ссылки на две переменные также передаются в параметр.

P.S. Если где-то запутался или жестко обосрался, прошу помочь. Тема указателей, ссылок и параметров функции даётся не просто.

P.S.S. забыл картинку вставить хд
#include <iostream>

using namespace std;

void compare(int a, int b, int* add_great, int* add_small) {
	if (a > b) {
		*add_great = a;
		*add_small = b;
	}
	else {
		*add_great = b;
		*add_small = a;
	}
}

int main()
{
	int great, small, x, y;
	cout << "Enter two numbers: \n";
	cin >> x >> y;
	compare(x, y, &great, &small);
	cout << "\nThe greater number is " << great << " and the smaller number is " << small;
	return 0;
}
  • Вопрос задан
  • 99 просмотров
Пригласить эксперта
Ответы на вопрос 2
@res2001
Developer, ex-admin
Код надо вставлять текстом в соответствующем теге, есть кнопка в панельке.
Передаешь правильно. Что есть сомнения? Просто запусти программу для проверки с разными значениями.
Т.к. это С++ то можно использовать ссылки вместо указателей.
Ответ написан
Комментировать
Adamos
@Adamos
целочисленных указателя
WRONG. Таких не бывает.

Инициализируем 4 переменные
WRONG. Читаем, что такое инициализация в С-подобных языках и чем она отличается от объявления.

как я понял, ссылки на две переменные также передаются в параметр
WRONG. В функцию они передаются, а не в параметр. В остальном верно ;)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы