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]);
}