Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Dop_Prog_3cem_2010.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
874.5 Кб
Скачать

2.4 Функції з параметрами за замовченням

Приклад 2.11

#include <stdio.h>

int def(int a=10, int b=3, int c=4)

{return a*b+c;}

int main()

{int am=2, bm=5, cm=6,res1,res2,res3,res4;

res1=def();

res2=def(am);

res3=def(am, bm);

res4=def(am, bm, cm);

printf(“res1=%d res2=%d ”, res1,res2);

printf(“res3=%d res4=%d\n”, res3,res4);

return 0; }

Приклад 2.12

#include <stdio.h>

int sum(int, int=5, int=10);

void main()

{int am=20, bm=50, cm=100,s1,s2,s3;

s1=sum(am);

s2=sum(am,bm);

s3=sum(am,bm,cm);

printf(“s1=%d s2=%d s3=%d\n”,s1,s2,s3);

return 0; }

int sum(int a, int b, int c)

{return a+b+c;}

2.5 Функції з змінним числом параметрів

Приклад 2.13

#include <stdio.h>

int sumi(int i,...)

{int *num=&i;

int sum=0;

for(;i;i--) sum+=*(++num);

return sum;}

double sumd(int i,double d...)

{double *ptr=&d;

double sum=0.0;

for(;i;i--) sum+=*(ptr++);

return sum;}

void main()

{int a1=10,a2=20,a3=30,s1,s2;

double d1=5.7, d2=1.2,s3;

s1=sumi(3,a1,a2,a3);

s2=sumi(6,1,a2,3,a1,a3,4);

s3=sumd(4,d1,1.25,d2,2.5);

printf(“s1=%d s2=%d s3=%.2lfn”, s1,s2,s3);

}

Приклад 2.14

#include <stdio.h>

#define term 0.0

double mult(double arg...)

{double a=1.0,*ptr=&arg;

if(*ptr==term) return 0.0;

for(;*ptr;ptr++)

a*=*ptr;

return a;}

void main()

{double a=2.5,b=2.0,md1,md2;

md1=mult(a,b,0.3,term);

md2=mult(0.5,a,4.0,b,1.1,term);

printf("md1=%.2lf md2=%.2lf\n",md1,md2);}

Приклад 2.15

#include <stdio.h>

#include <stdarg.h>

#define EOL 0.0

void func(double...);

int main()

{double v1=1.1,v2=2.2,v3=3.3,v4=4.4,v5=5.5;

func(v1,v2,v3,EOL);

func(v1,v2,v3,v4,v5,EOL);

return 0;}

void func(double arg1...)

{int num=0; double value=arg1;

va_list prt;

va_start(prt,arg1);

while(value!=EOL)

{printf(" %.2lf",value);

num++;

value=va_arg(prt,double);

}

printf("\nПараметров в списке.– %d\n",num);

va_end(prt);}

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]