Лекция: Сравнение параметров ссылочного типа и параметров - значений.

Что будет выведено?

void fun1(int a, int &b, int &c) { int d; a=…; b=…; c=…; d=…;

/* Вместо многоточиячисла или выражения */

cout<<a%c<<" "<<(b / d )<<endl; }

int main()

{ int u=…, v=…, w=…, z=…;

/* Вместо многоточия числа или выражения*/fun1(u,v,w);

cout<<u<<" "<<v<<" "<<(w + z)<<endl;

getch(); return 0; }

Заголовок функции может быть другим, зависит от того, какие параметры объявлены со ссылочным типом:

void fun1(int a, int b, int &c)

// илиvoid fun1(int &a, int &b, int c) и т.п.

7. Сравнение функций типа void и отличных от типа void.

Пусть описаны функции

void FVoid (int x, int y, int &r) { r=x+y; }

int FInt (int x, int y, int &r) { r=x-y; return x/y; }

Укажите номера строк, в которых правильные вызовы функций. Что будет выведено для правильных вызовов?

int main() { int R;

if (FVoid (12, 12, R)) //1

cout<<" Yes "<<R; else cout<<" No "<<R;

if (FInt (14, 12, R)) //2

cout<<" Yes "<<R; else cout<<" No "<<R;

FVoid (12, 12, R); //3

R? cout<<" Yes ": cout<<" No "; cout<<R;

FInt (4, 14, R); cout<<" "<<R<<" "; //4

int RES=0, x=12; RES= FVoid (x, 12, 3); //5

RES? cout<<«Yes»: cout<<«No»; cout<<RES;

RES=0; x=12; RES= FInt (x, 12, 3); //6

RES? cout<<«Yes»: cout<<«No»; cout<<RES;

getch(); return 0; }

В других более простых вариантах функции Fint записаноreturn r; т. е. одно и то же выражение получается и с помощью переменной, и возвращается с помощью return.

В тексте функции может быть более сложное логическое выражение или использоваться другие операции (см. упражнения и тесты гл.1).

еще рефераты
Еще работы по информатике