12.11.2007, 04:34
общий
это ответ
Здравствуйте, Боднарчук Андрій Васильович!
Функция ВСЕГДА возвращает одно значение. В том числе и в Паскале. Однако возвращаемое значение не обязательно должно быть скалярной величиной.
Но, судя по вопросу, Вас интересует как в Си сделать нечто вроде паскалевского параметра-переменной?
В Си (а равно С++) аргументы функций всегда передаются по значению. Для того, что бы можно было через параметры ВЕРНУТЬ значение, или несколько значений, параметры должены быть указателями на переменные, существующие в вызывающем коде.
Тему указателей довольно обширна, но ничего особо хитрого. Пример в приложении.
Приложение:
include <stdio.h>void my_func(int, int *, int *);int main(void){int c, d; my_func(10, &c, &d); printf("%d %d", c, d); getchar(); // ожидаем нажатия Enter для выхода из программы return 0;}void my_func(int x, int *a, int *b) //вопрос 108962{ *a = x + 1; *b = x + 2;}