8.9. Место определения и обращения к функции

Функция может быть вызвана из любого места после ее определения.

....

int max(int i, int j)

{

....

}

....

voidmain()

{...

max(a,h);

....

}

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

int max();

....

void main()

{...

max(a,h);

....

}

int max(int i, int j)

{

....

}

....

Пример напишем задачу сортировки вставкой с использованием функции находящей минимальный элемент в массиве начиная с iго элемента, которая возвращает номер минимального элемента

 

int min(int s[], int i)

{    int j,  v=i;

for(j=i+1;j<10;j++)

if(s[j]<s[v])

v=j;

return v;

}

void main()

{

int s[10],k,v,i;

for (i=0;i<10;i++)

scanf("%d",&s[i]);

 

for (i=0;i<10; i++)

{

v=min(s,i);

k=s[i];

s[i]=s[v];

s[v]=k;

}

printf("отсортированный массив\n");

for(i=0;i<10;i++)

printf(" %d\n  ",s[i]);

}

 

К оглавлению

Назад к разделу "8.8. Функции"

Вперед к разделу "8.10 Рекурсивные функции"