SlideShare a Scribd company logo
1 of 22
Ôóíêö
Õè÷ýýëèéí Àãóóëãà
 Õýðýãëýã÷èéí ôóíêö òîäîðõîéëîõ
 Óòãà áóöààõ ¿éëäýë
 Ôóíêöûã çàðëàõ
 Ôóíêöûí àðãóìåíòóóä
 Òºðºë øàëãàõ
 Ôóíêöýýñ óòãà áóöààõ
2
Õýðýãëýã÷èéí ôóíêö
3
 Ôóíêö íü ïðîãðàììä îëîí äàâòàí õèéãäýõ
¿éëäë¿¿äèéã áàãàñãàæ, ¿éëäë¿¿äèéã á¿ëýãëýæ ºãäºã.
Ôóíêö òîäîðõîéëîõ áè÷ëýã :
<áóöààõ óòãûí òºðºë> <ÔóíêöÍýð>(<Àðãóìåíòóóä>)
<Àðãóìåíòóóäûí çàðëàëò>
{ <Ëîêàëü õóâüñàã÷äûã çàðëàõ>;
<Ôóíêöûí ¿íäñýí áèå áóþó Êîìàíäóóä >;
. . .
return (áóöààõ óòãà);
}
Õýðýãëýã÷èéí ôóíêö
4
 Õýðýâ ôóíêö óòãà áóöààõ øààðäëàãàòàé áîë ôóíêöûí
íýðèéí ºìíº òóõàéí ôóíêöýýñ áóöààõ óòãûí òºðëèéã áè÷èæ
ºãíº.
 Õýðýâ ôóíêö óòãà áóöààäàãã¿é áîë ò¿¿íèé íýðèéí ºìíº
íü void ò¿ëõ¿¿ð ¿ãèéã áè÷èæ ºãíº ýñâýë åðººñºº ò¿ëõ¿¿ð
¿ã áè÷èõã¿é байж болно.
 Õýðýâ ôóíêö ðóó àëèâàà óòãà äàìæäàã áîë ò¿¿íèéã
õ¿ëýýæ àâàõ õóâüñàã÷äûã àðãóìåíòóóä ãýæ íýðëýäýã áà
õóâüñàã÷äûã ôóíêöûí íýðèéí àðä ( ) õààëòàíä төрлийг нь
тодорхойлж òàñëàëààð çààãëàí áè÷èæ ºãíº.
Õýðýãëýã÷èéí ôóíêö
 Õýðýâ ôóíêö óòãà õ¿ëýýí àâäàãã¿é áîë
( ) õààëòàíä þó ÷ áè÷èõã¿é. Хэрэв
функц дотор хувьсагч хэрэглэх
болбол функцийн эхэнд зарлаж өгнө
 Функц дотор зарласан хувьсагч нь
тухайн функцийн бие буюу блок
дотроо л хүчинтэй гэдгийг
анхаараарай
 Ôóíêöûí áèåèéã { } õààëòàíä áè÷íý.
5
Õýðýãëýã÷èéí ôóíêö
6
int Max(int a,int b)
{
int k;
k=(a>b) ? a : b;
printf( “Max= %d ”, k);
return k;
}
Áóöààõ
төрөл
Àðãóìåíòóóä
Ëîêàëü õóâüñàã÷
Óòãà áóöààõ ¿éëäýë
Õýðýãëýã÷èéí ôóíêö
 Ôóíêöûã ò¿¿íèé íýðýýð, àðãóìåíòèéã íü äàìæóóëàí
äóóäíà.
 Sum(); /* Àðãóìåíòã¿é ôóíêö äóóäàõ */
 Sum(5,7); /* Òîãòìîë óòãûã ôóíêöýä äàìæóóëàõ */
 Sum(i,k); /* Õóâüñàã÷äûí óòãûã äàìæóóëàõ */
 i=Sum(5,7); /* Óòãà áóöààäàã ôóíêöûã àøèãëàõ */
 i=Sum(i,k);
 i=m+Sum(5,k); /* Èëýðõèéëýëä àøèãëàõ */
7
Ôóíêöýýñ óòãà áóöààõ ¿éëäýë
 Ñè õýëýíä ôóíêöýýñ óòãà áóöààõäàà return ò¿ëõ¿¿ð ¿ãèéã
õýðýãëýäýã.
 Áè÷èãäýõ õýëáýð :
return[( ]<èëýðõèéëýë> [)];
 Æèøýý : returna+b;
return(a+b);
returna;
return(a);
8
Óòãà áóöààõ ¿éëäýë
 return ¿éëäýë ã¿éöýòãýãäýõýä óäèðäëàãà òóõàéí ôóíêöýýñ ãàðíà.
ªºðººð õýëáýë íýã áëîêò ò¿¿íèé àðä áè÷èãäñýí ¿éëäë¿¿ä
áèåëýãäýõã¿é.
int Sum(int a,int b)
{ int k;
k=a+b;
return k;
printf(“Sum=%d”,k);  ¯éëäýë õýçýý ÷ áèåëýãäýõã¿é
}
9
Ôóíêöûã çàðëàõ
 Ôóíêöûã çàðëàõäàà òóõàéí ôóíêö ð¿¿ äàìæèõ àðãóìåíòûí áîëîí
áóöààõ óòãûí òºðëèéã çààæ ºãäºã.
 Ôóíêö çàðëàõ áè÷ëýã :
<áóöààõ òºðºë><ÔóíêöÍýð>(<Àðãóìåíòèéí òºðºë> , . . .);
 Æèøýý :
 int Sum(int a, int b);
10
Æèøýý
 main()
 { printf(“Sum = %d”, Sum(5,7));
 printf(“Max = %d”,Max(5,7));
 }
 int Max(int a, int b)
 { return (a>b) ? a : b; }
11
Ôóíêöûã çàðëàõ
 Õýðýâ ôóíêö ¿íýõýýð þó ÷ áóöààäàãã¿é áîë ò¿¿íèéã
çàðëàõäàà íýðèéíõ íü ºìíº void ò¿ëõ¿¿ð ¿ãèéã õýðýãëýäýã.
 voidprint_it(n)
 voidãýæ òîäîðõîéëæ ºãñíººð ôóíêö çàðëàëò áà ôóíêö äóóäàëòûã
ÿëãàæ ºãíº .
12
Ôóíêöûã çàðëàõ
 int i,j;
 wizard();
 Ýíý ôóíêö íü óòãà áóöààäàãã¿é ó÷ðààñ ò¿¿íèéã çàðëàõäàà
òºðºë áè÷èõã¿é ãýâýë ýíý íü ôóíêö äóóääàã áè÷ëýãòýé
àäèëõàí áîëîõ þì.
 int i,j;
 void wizard();
13
Ôóíêöûã çàðëàõ
 ̺í àðãóìåíò àâäàãã¿é ôóíêöûã çàðëàõäàà ÷ void ò¿ëõ¿¿ð ¿ãèéã
àøèãëàäàã.
void Sum(void);
main()
{ Sum();
}
Sum()
{ printf(“ Sum= %d”, a+b); }
14
Ôóíêöûí àðãóìåíòóóä
15
 Ôóíêöûí òîäîðõîéëîëòîíä òóõàéí ôóíêöûí àðãóìåíòóóäûã
æàãñààæ òîäîðõîéëæ ºãäºã.
print_n(int x,int y,int k)
{
}
 Òîäîðõîéëñîí áîëîí æèíõýíý àðãóìåíòóóä òîîãîîðîî ìºí òºð뺺ðºº
õàðãàëçàí òýíö¿¿ áàéõ ¸ñòîé
Ôóíêöûí àðãóìåíòóóä
 Ñè õýëýíä æèíõýíý àðãóìåíòóóäûí òîî íü òîäîðõîéëñîí òîîíîîñîî
áàãà áàéæ áîëíî. Çàðèì ñòàíäàðò ôóíêö áóþó printf , scanf íü
õóâüñàõ òîîíû æèíõýíý àðãóìåíòóóäòàé áàéäàã.
 #include<stdio.h>
 Sum(int i, int j, int k, int n) {
 return i+j+k+n; }
 main()
 { printf("Sum : %d",Sum(1,2,3,4)); }
16
Àðãóìåíòèéí òºðºë
17
Æèíõýíý àðãóìåíòóóäûí òºðºë íü òîäîðõîéëñîí
òºðºëòýéãýý èæèë áàéõ àëáàã¿é.
floatmax(floata, floatb)
{
if(a>b)return a;
elsereturn b;
}
printf("%dn",(int)max((float)2,(float)3));
printf("%fn",max((float)2.35,(float)3.53));
Óòãààð äàìæóóëàõ
18
 Áèäíèé ºìíº ¿çñýí áàéäëààð ôóíêöýä àðãóìåíò
äàìæóóëàõàä òóõàéí óòãóóä íü ôóíêöûí ìóæèä äàõèí íýã
õóâü õóóëàãääàã.
 Èéìýýñ ýíý àðãóìåíòèéí óòãûã ººð÷èëñºí ÷ òóõàéí
ôóíêöýä óòãàà äàìæóóëñàí ¿íäñýí õóâüñàã÷èéí óòãà
ººð÷ëºãääºãã¿é.
 Èéì áàéäëààð ôóíêöýä àðãóìåíò äàìæóóëàõûã óòãààð
äàìæóóëàõ ãýæ íýðëýäýã.
Õàÿãààð äàìæóóëàõ
 Õàðèí õóâüñàã÷èéí óòãûã ôóíêö äîòðîîñ ººð÷ëºõèéí òóëä õàÿãààð äàìæóóëàõ ãýäýã
àðãûã õýðýãëýäýã.
 Ýíý àðãûí ãîë ìºí ÷àíàð íü ôóíêöýä õóâüñàã÷èéí óòãà äàìæóóëàõûí îðîíä õóâüñàã÷èéí
õàÿãèéã äàìæóóëäàã.
 Õóâüñàã÷èéí óòãûã ººð÷ëºõ人 òóõàéí õóâüñàã÷èéí õàÿãààð íü õàíäàæ ººð÷èëíº.
19
Æèøýý
 Äàðààõ æèøýýíä õî¸ð á¿õýë òîîí
õóâüñàã÷èéí óòãûã ñîëüäîã ôóíêöûã
¿ç¿¿ëýâ.
swap(m,n)
int *m,*n;
{ inttemp;
temp=*m;
*m=*n;
*n=temp;
}
20
Æèøýý
 Ýíý ôóíêöûã äóóäàõäàà
swap(&m,&n); áàéäëààð äóóäíà.
 ªºðººð õýëáýë òóõàéí ôóíêöýä
õóâüñàã÷äûí óòãûã áèø òýäãýýðèéí
õàÿãèéã äàìæóóëàõ ¸ñòîé ó÷ðààñ &
¿éëäëèéã àøèãëàí õàÿãèéã íü àâ÷ ôóíêöýä
äàìæóóëæ áàéíà.
21
Æèøýý
 temp=*m;
/* m –ûí àãóóëæ áàéãàà õàÿãò áóé óòãûã temp –ä õèéæ áàéíà
*/
 *m = *n;
/* n –ûí àãóóëæ áàéãàà õàÿãò áàéãàà óòãûã m õàÿãò õèéæ
áàéíà */
 *m=temp;
/* temp-ûí óòãûã m –ûí àãóóëæ áàéãàà õàÿãò õèéæ áàéíà */
22

More Related Content

What's hot

резидентные разрешения
резидентные разрешениярезидентные разрешения
резидентные разрешенияTimur Beyters
 
Òðàíñôîðìàòîðûí àæèëëàõ çàð÷èì
Òðàíñôîðìàòîðûí àæèëëàõ çàð÷èìÒðàíñôîðìàòîðûí àæèëëàõ çàð÷èì
Òðàíñôîðìàòîðûí àæèëëàõ çàð÷èìzaluu_medleg
 
20101021 proof complexity_hirsch_lecture05
20101021 proof complexity_hirsch_lecture0520101021 proof complexity_hirsch_lecture05
20101021 proof complexity_hirsch_lecture05Computer Science Club
 
ورقة عمل أسماء الإشارة
ورقة عمل أسماء الإشارةورقة عمل أسماء الإشارة
ورقة عمل أسماء الإشارةRidwan Ismail
 
тэгш өнцөгт гурвалжин
тэгш өнцөгт гурвалжинтэгш өнцөгт гурвалжин
тэгш өнцөгт гурвалжинOtgonpurev63
 
Lecture1 kомпьютерт мэдээлэл_дүрслэх
Lecture1 kомпьютерт мэдээлэл_дүрслэхLecture1 kомпьютерт мэдээлэл_дүрслэх
Lecture1 kомпьютерт мэдээлэл_дүрслэхGantur Togtokh
 
پُٽ هجي ته اهڙو!
پُٽ هجي ته اهڙو!پُٽ هجي ته اهڙو!
پُٽ هجي ته اهڙو!Ilyas Qadri Ziaee
 

What's hot (14)

резидентные разрешения
резидентные разрешениярезидентные разрешения
резидентные разрешения
 
Alg Undes 1
Alg Undes 1Alg Undes 1
Alg Undes 1
 
Òðàíñôîðìàòîðûí àæèëëàõ çàð÷èì
Òðàíñôîðìàòîðûí àæèëëàõ çàð÷èìÒðàíñôîðìàòîðûí àæèëëàõ çàð÷èì
Òðàíñôîðìàòîðûí àæèëëàõ çàð÷èì
 
Bie daah bodloguud
Bie daah bodloguudBie daah bodloguud
Bie daah bodloguud
 
20101021 proof complexity_hirsch_lecture05
20101021 proof complexity_hirsch_lecture0520101021 proof complexity_hirsch_lecture05
20101021 proof complexity_hirsch_lecture05
 
Lecture 10
Lecture 10Lecture 10
Lecture 10
 
Bie daah bodloguud
Bie daah bodloguudBie daah bodloguud
Bie daah bodloguud
 
ورقة عمل أسماء الإشارة
ورقة عمل أسماء الإشارةورقة عمل أسماء الإشارة
ورقة عمل أسماء الإشارة
 
Lecture6
Lecture6Lecture6
Lecture6
 
BLS
BLSBLS
BLS
 
Recursive
RecursiveRecursive
Recursive
 
тэгш өнцөгт гурвалжин
тэгш өнцөгт гурвалжинтэгш өнцөгт гурвалжин
тэгш өнцөгт гурвалжин
 
Lecture1 kомпьютерт мэдээлэл_дүрслэх
Lecture1 kомпьютерт мэдээлэл_дүрслэхLecture1 kомпьютерт мэдээлэл_дүрслэх
Lecture1 kомпьютерт мэдээлэл_дүрслэх
 
پُٽ هجي ته اهڙو!
پُٽ هجي ته اهڙو!پُٽ هجي ته اهڙو!
پُٽ هجي ته اهڙو!
 

Viewers also liked (9)

Presentacion uranio
Presentacion uranio Presentacion uranio
Presentacion uranio
 
Frank gehry
Frank gehryFrank gehry
Frank gehry
 
Trabajo imformatica
Trabajo imformaticaTrabajo imformatica
Trabajo imformatica
 
Mijn talk voor Veerstichting Antwerpen - Ondernemen in een stad
Mijn talk voor Veerstichting Antwerpen - Ondernemen in een stadMijn talk voor Veerstichting Antwerpen - Ondernemen in een stad
Mijn talk voor Veerstichting Antwerpen - Ondernemen in een stad
 
ระบบแอร์
ระบบแอร์ระบบแอร์
ระบบแอร์
 
Incidente (1)
Incidente (1)Incidente (1)
Incidente (1)
 
Lecture 4
Lecture 4Lecture 4
Lecture 4
 
Lecture 5
Lecture 5Lecture 5
Lecture 5
 
Lecture 6
Lecture 6Lecture 6
Lecture 6
 

More from Tuguldurbayar Gantogoo (8)

Lecture 2
Lecture 2Lecture 2
Lecture 2
 
Lecture 3
Lecture 3Lecture 3
Lecture 3
 
Lecture 7
Lecture 7Lecture 7
Lecture 7
 
Lecture 8
Lecture 8Lecture 8
Lecture 8
 
Lecture 9
Lecture 9Lecture 9
Lecture 9
 
Lecture 11
Lecture 11Lecture 11
Lecture 11
 
Lecture 14
Lecture 14Lecture 14
Lecture 14
 
Chap15
Chap15Chap15
Chap15
 

Lecture 7

  • 2. Õè÷ýýëèéí Àãóóëãà  Õýðýãëýã÷èéí ôóíêö òîäîðõîéëîõ  Óòãà áóöààõ ¿éëäýë  Ôóíêöûã çàðëàõ  Ôóíêöûí àðãóìåíòóóä  Òºðºë øàëãàõ  Ôóíêöýýñ óòãà áóöààõ 2
  • 3. Õýðýãëýã÷èéí ôóíêö 3  Ôóíêö íü ïðîãðàììä îëîí äàâòàí õèéãäýõ ¿éëäë¿¿äèéã áàãàñãàæ, ¿éëäë¿¿äèéã á¿ëýãëýæ ºãäºã. Ôóíêö òîäîðõîéëîõ áè÷ëýã : <áóöààõ óòãûí òºðºë> <ÔóíêöÍýð>(<Àðãóìåíòóóä>) <Àðãóìåíòóóäûí çàðëàëò> { <Ëîêàëü õóâüñàã÷äûã çàðëàõ>; <Ôóíêöûí ¿íäñýí áèå áóþó Êîìàíäóóä >; . . . return (áóöààõ óòãà); }
  • 4. Õýðýãëýã÷èéí ôóíêö 4  Õýðýâ ôóíêö óòãà áóöààõ øààðäëàãàòàé áîë ôóíêöûí íýðèéí ºìíº òóõàéí ôóíêöýýñ áóöààõ óòãûí òºðëèéã áè÷èæ ºãíº.  Õýðýâ ôóíêö óòãà áóöààäàãã¿é áîë ò¿¿íèé íýðèéí ºìíº íü void ò¿ëõ¿¿ð ¿ãèéã áè÷èæ ºãíº ýñâýë åðººñºº ò¿ëõ¿¿ð ¿ã áè÷èõã¿é байж болно.  Õýðýâ ôóíêö ðóó àëèâàà óòãà äàìæäàã áîë ò¿¿íèéã õ¿ëýýæ àâàõ õóâüñàã÷äûã àðãóìåíòóóä ãýæ íýðëýäýã áà õóâüñàã÷äûã ôóíêöûí íýðèéí àðä ( ) õààëòàíä төрлийг нь тодорхойлж òàñëàëààð çààãëàí áè÷èæ ºãíº.
  • 5. Õýðýãëýã÷èéí ôóíêö  Õýðýâ ôóíêö óòãà õ¿ëýýí àâäàãã¿é áîë ( ) õààëòàíä þó ÷ áè÷èõã¿é. Хэрэв функц дотор хувьсагч хэрэглэх болбол функцийн эхэнд зарлаж өгнө  Функц дотор зарласан хувьсагч нь тухайн функцийн бие буюу блок дотроо л хүчинтэй гэдгийг анхаараарай  Ôóíêöûí áèåèéã { } õààëòàíä áè÷íý. 5
  • 6. Õýðýãëýã÷èéí ôóíêö 6 int Max(int a,int b) { int k; k=(a>b) ? a : b; printf( “Max= %d ”, k); return k; } Áóöààõ төрөл Àðãóìåíòóóä Ëîêàëü õóâüñàã÷ Óòãà áóöààõ ¿éëäýë
  • 7. Õýðýãëýã÷èéí ôóíêö  Ôóíêöûã ò¿¿íèé íýðýýð, àðãóìåíòèéã íü äàìæóóëàí äóóäíà.  Sum(); /* Àðãóìåíòã¿é ôóíêö äóóäàõ */  Sum(5,7); /* Òîãòìîë óòãûã ôóíêöýä äàìæóóëàõ */  Sum(i,k); /* Õóâüñàã÷äûí óòãûã äàìæóóëàõ */  i=Sum(5,7); /* Óòãà áóöààäàã ôóíêöûã àøèãëàõ */  i=Sum(i,k);  i=m+Sum(5,k); /* Èëýðõèéëýëä àøèãëàõ */ 7
  • 8. Ôóíêöýýñ óòãà áóöààõ ¿éëäýë  Ñè õýëýíä ôóíêöýýñ óòãà áóöààõäàà return ò¿ëõ¿¿ð ¿ãèéã õýðýãëýäýã.  Áè÷èãäýõ õýëáýð : return[( ]<èëýðõèéëýë> [)];  Æèøýý : returna+b; return(a+b); returna; return(a); 8
  • 9. Óòãà áóöààõ ¿éëäýë  return ¿éëäýë ã¿éöýòãýãäýõýä óäèðäëàãà òóõàéí ôóíêöýýñ ãàðíà. ªºðººð õýëáýë íýã áëîêò ò¿¿íèé àðä áè÷èãäñýí ¿éëäë¿¿ä áèåëýãäýõã¿é. int Sum(int a,int b) { int k; k=a+b; return k; printf(“Sum=%d”,k);  ¯éëäýë õýçýý ÷ áèåëýãäýõã¿é } 9
  • 10. Ôóíêöûã çàðëàõ  Ôóíêöûã çàðëàõäàà òóõàéí ôóíêö ð¿¿ äàìæèõ àðãóìåíòûí áîëîí áóöààõ óòãûí òºðëèéã çààæ ºãäºã.  Ôóíêö çàðëàõ áè÷ëýã : <áóöààõ òºðºë><ÔóíêöÍýð>(<Àðãóìåíòèéí òºðºë> , . . .);  Æèøýý :  int Sum(int a, int b); 10
  • 11. Æèøýý  main()  { printf(“Sum = %d”, Sum(5,7));  printf(“Max = %d”,Max(5,7));  }  int Max(int a, int b)  { return (a>b) ? a : b; } 11
  • 12. Ôóíêöûã çàðëàõ  Õýðýâ ôóíêö ¿íýõýýð þó ÷ áóöààäàãã¿é áîë ò¿¿íèéã çàðëàõäàà íýðèéíõ íü ºìíº void ò¿ëõ¿¿ð ¿ãèéã õýðýãëýäýã.  voidprint_it(n)  voidãýæ òîäîðõîéëæ ºãñíººð ôóíêö çàðëàëò áà ôóíêö äóóäàëòûã ÿëãàæ ºãíº . 12
  • 13. Ôóíêöûã çàðëàõ  int i,j;  wizard();  Ýíý ôóíêö íü óòãà áóöààäàãã¿é ó÷ðààñ ò¿¿íèéã çàðëàõäàà òºðºë áè÷èõã¿é ãýâýë ýíý íü ôóíêö äóóääàã áè÷ëýãòýé àäèëõàí áîëîõ þì.  int i,j;  void wizard(); 13
  • 14. Ôóíêöûã çàðëàõ  ̺í àðãóìåíò àâäàãã¿é ôóíêöûã çàðëàõäàà ÷ void ò¿ëõ¿¿ð ¿ãèéã àøèãëàäàã. void Sum(void); main() { Sum(); } Sum() { printf(“ Sum= %d”, a+b); } 14
  • 15. Ôóíêöûí àðãóìåíòóóä 15  Ôóíêöûí òîäîðõîéëîëòîíä òóõàéí ôóíêöûí àðãóìåíòóóäûã æàãñààæ òîäîðõîéëæ ºãäºã. print_n(int x,int y,int k) { }  Òîäîðõîéëñîí áîëîí æèíõýíý àðãóìåíòóóä òîîãîîðîî ìºí òºð뺺𺺠õàðãàëçàí òýíö¿¿ áàéõ ¸ñòîé
  • 16. Ôóíêöûí àðãóìåíòóóä  Ñè õýëýíä æèíõýíý àðãóìåíòóóäûí òîî íü òîäîðõîéëñîí òîîíîîñîî áàãà áàéæ áîëíî. Çàðèì ñòàíäàðò ôóíêö áóþó printf , scanf íü õóâüñàõ òîîíû æèíõýíý àðãóìåíòóóäòàé áàéäàã.  #include<stdio.h>  Sum(int i, int j, int k, int n) {  return i+j+k+n; }  main()  { printf("Sum : %d",Sum(1,2,3,4)); } 16
  • 17. Àðãóìåíòèéí òºðºë 17 Æèíõýíý àðãóìåíòóóäûí òºðºë íü òîäîðõîéëñîí òºðºëòýéãýý èæèë áàéõ àëáàã¿é. floatmax(floata, floatb) { if(a>b)return a; elsereturn b; } printf("%dn",(int)max((float)2,(float)3)); printf("%fn",max((float)2.35,(float)3.53));
  • 18. Óòãààð äàìæóóëàõ 18  Áèäíèé ºìíº ¿çñýí áàéäëààð ôóíêöýä àðãóìåíò äàìæóóëàõàä òóõàéí óòãóóä íü ôóíêöûí ìóæèä äàõèí íýã õóâü õóóëàãääàã.  Èéìýýñ ýíý àðãóìåíòèéí óòãûã ººð÷èëñºí ÷ òóõàéí ôóíêöýä óòãàà äàìæóóëñàí ¿íäñýí õóâüñàã÷èéí óòãà ººð÷ëºãääºãã¿é.  Èéì áàéäëààð ôóíêöýä àðãóìåíò äàìæóóëàõûã óòãààð äàìæóóëàõ ãýæ íýðëýäýã.
  • 19. Õàÿãààð äàìæóóëàõ  Õàðèí õóâüñàã÷èéí óòãûã ôóíêö äîòðîîñ ººð÷ëºõèéí òóëä õàÿãààð äàìæóóëàõ ãýäýã àðãûã õýðýãëýäýã.  Ýíý àðãûí ãîë ìºí ÷àíàð íü ôóíêöýä õóâüñàã÷èéí óòãà äàìæóóëàõûí îðîíä õóâüñàã÷èéí õàÿãèéã äàìæóóëäàã.  Õóâüñàã÷èéí óòãûã ººð÷ëºõ人 òóõàéí õóâüñàã÷èéí õàÿãààð íü õàíäàæ ººð÷èëíº. 19
  • 20. Æèøýý  Äàðààõ æèøýýíä õî¸ð á¿õýë òîîí õóâüñàã÷èéí óòãûã ñîëüäîã ôóíêöûã ¿ç¿¿ëýâ. swap(m,n) int *m,*n; { inttemp; temp=*m; *m=*n; *n=temp; } 20
  • 21. Æèøýý  Ýíý ôóíêöûã äóóäàõäàà swap(&m,&n); áàéäëààð äóóäíà.  ªºðººð õýëáýë òóõàéí ôóíêöýä õóâüñàã÷äûí óòãûã áèø òýäãýýðèéí õàÿãèéã äàìæóóëàõ ¸ñòîé ó÷ðààñ & ¿éëäëèéã àøèãëàí õàÿãèéã íü àâ÷ ôóíêöýä äàìæóóëæ áàéíà. 21
  • 22. Æèøýý  temp=*m; /* m –ûí àãóóëæ áàéãàà õàÿãò áóé óòãûã temp –ä õèéæ áàéíà */  *m = *n; /* n –ûí àãóóëæ áàéãàà õàÿãò áàéãàà óòãûã m õàÿãò õèéæ áàéíà */  *m=temp; /* temp-ûí óòãûã m –ûí àãóóëæ áàéãàà õàÿãò õèéæ áàéíà */ 22