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 (19)

Lecture 8
Lecture 8Lecture 8
Lecture 8
 
Lecture 3
Lecture 3Lecture 3
Lecture 3
 
Lecture 11
Lecture 11Lecture 11
Lecture 11
 
Lecture 9
Lecture 9Lecture 9
Lecture 9
 
Lecture 14
Lecture 14Lecture 14
Lecture 14
 
Lecture 7
Lecture 7Lecture 7
Lecture 7
 
Lecture 6
Lecture 6Lecture 6
Lecture 6
 
Lecture 4
Lecture 4Lecture 4
Lecture 4
 
Lecture 5
Lecture 5Lecture 5
Lecture 5
 
Chap15
Chap15Chap15
Chap15
 
Design+Startup 2013
Design+Startup 2013Design+Startup 2013
Design+Startup 2013
 
Lecture 2
Lecture 2Lecture 2
Lecture 2
 
Lab
LabLab
Lab
 
Output Screens of wget based web crawler
Output Screens of wget based web crawler Output Screens of wget based web crawler
Output Screens of wget based web crawler
 
"de:coded 2011" winners
"de:coded 2011" winners"de:coded 2011" winners
"de:coded 2011" winners
 
Coding for a wget based Web Crawler
Coding for a wget based Web CrawlerCoding for a wget based Web Crawler
Coding for a wget based Web Crawler
 
Working with WebSPHINX Web Crawler
Working with WebSPHINX Web Crawler Working with WebSPHINX Web Crawler
Working with WebSPHINX Web Crawler
 
Pronoms toniques: formes et emplois.
Pronoms toniques: formes et emplois.Pronoms toniques: formes et emplois.
Pronoms toniques: formes et emplois.
 
Working of a Web Crawler
Working of a Web CrawlerWorking of a Web Crawler
Working of a Web Crawler
 

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