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

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

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

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

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

Варианты ответа
количество параметров у функций при компиляции должно быть фиксировано
известно количество параметров в списке(Верный ответ)
контроль конца списка параметров данной функции проводить не надо
известен признак конца списка параметров
Похожие вопросы
Каким образом компилятором происходит контроль конца списка параметров во фрагменте кода:
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);}		
Каким образом компилятором происходит контроль конца списка параметров во фрагменте кода:
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;}            		
Укажите, какое значение возвращает функция 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;}		
Укажите, какое значение возвращает функция 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;}		
Укажите, что возвращает функция, фрагмент кода которой представлен ниже:
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;}		
Укажите, какое значение возвращает функция 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;}		
Значение какого выражения возвращает функция 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); }