База ответов ИНТУИТ

Структуры и алгоритмы компьютерной обработки данных

<<- Назад к вопросам

Каким образом компилятором происходит контроль конца списка параметров во фрагменте кода:
float arifm(int k, ...) {  int *p=&k;//настроили указатель на параметр k  float s=*p; //значение первого параметра присвоили s  int i;  for(i=1;(*p)!=0;i++) //пока нет конца списка    s+=*(++p);  return s/(i-1);}		

(Отметьте один правильный вариант ответа.)

Варианты ответа
известно количество параметров в списке
количество параметров у функций при компиляции должно быть фиксировано
известен признак конца списка параметров(Верный ответ)
контроль конца списка параметров данной функции проводить не надо
Похожие вопросы
Каким образом компилятором происходит контроль конца списка параметров во фрагменте кода:
float sum(int k, ...) {  int *p=&k;  float s=0;  for(;k!=0;k--)    s+=*(++p);  return s;}		
Каким образом компилятором происходит контроль конца списка параметров во фрагменте кода:
double rec(double(*pf)(double), double a, double b){  int N, i;  double h,s=0.0;  printf("\nВведите количество интервалов разбиения: N= ");  scanf("%d",&N);  printf("\na= ");  h=(b-a)/N;   for (i=0;i<N;i++)    s+=pf(a+h/2+i*h);  return h*s;}            		
Укажите, какое значение возвращает функция g(a,b,c), если объявлены int a=3,b=5,c=18; и функция перегружена следующим образом:
float g(int a, int b, int c,int d){  return float(a+b+c)/4;}float g(float a, float b, float c){  return a+b+c;}		
Укажите, какое значение возвращает функция f(a,b,c), если объявлены int a=3,b=5,c=18; и функция перегружена следующим образом:
float f(int a, int b, int c){  return float((a+b+c)/3);}float f(float a, float b, float c){  return a+b+c;}		
Укажите, какое значение возвращает функция h(a,b,c), если объявлены int a=3,b=6;float c=4.5; и функция перегружена следующим образом:
int h(int a, float b, int c){  return int(a+b+c)/3;}float h(float a, int b, float c){  return a+b+c;}		
Укажите, что возвращает функция, фрагмент кода которой представлен ниже:
float a (int k, float x[max]) {  int i;  float s=0.0;  for (i=0;i<k;i++)    s+=x[i];  return s/k;}		
Значение какого выражения возвращает функция Rec(a,x,n), код которой приведен ниже?
float Rec(float *a, float x, int n){  if(n==0) return a[0];   return a[n]+x*Rec(a,x,n-1);}		
Какие действия выполняет приведенный фрагмент кода?
int n=20, i;float *mas;   mas = (float *) calloc(n,sizeof(float)); for (i=0; i<n; i++)     mas[i]= exp(i);
Укажите вид функции временной трудоемкости для следующей функции в зависимости от параметра n
float G(float p, int n){  if(n==0) return 1;  return G(p,n-1)*p;}		
Укажите вид функции временной трудоемкости для следующей функции в зависимости от параметра n
float Step(float p, int n){  if (n==0) return 1;  if (n%2==0) return pow(Step(p,n/2),2);  return p*Step(p,n-1); }