Рубрики

Вывод программ на C | Набор 14

Прогнозировать выход программ ниже C.

Вопрос 1

#include<stdio.h>

int main()

{

   int a;

   char *x;

   x = (char *) &a;

   a = 512;

   x[0] = 1;

   x[1] = 2;

   printf("%d\n",a);

  

   getchar();

   return 0;

Ответ: вывод зависит от порядкового номера машины. Выход составляет 513 в машине с прямым порядком байтов и 258 в машине с прямым порядком байтов.

Пусть целые числа хранятся с использованием 16 бит. В машине с прямым порядком байтов, когда мы делаем x [0] = 1 и x [1] = 2, число a изменяется на 00000001 00000010, что представляет собой представление 513 в машине с прямым порядком байтов. Выход будет одинаковым и для 32-битных чисел.

В машине с прямым порядком байтов, когда мы делаем x [0] = 1 и x [1] = 2, число изменяется на 00000001 00000010, что представляет собой представление 258 в машине с прямым порядком байтов.

вопрос 2

int main()

{

  int f = 0, g = 1;

  int i;

  for(i = 0; i < 15; i++) 

  {

    printf("%d \n", f);

    f = f + g;

    g = f - g;

  }

  getchar();

  return 0;

}

Ответ: Функция печатает первые 15 чисел Фибоначчи .

Вопрос 3
Объясните функциональность следующей функции.

int func(int i)

{

  if(i%2) return (i++);

  else return func(func(i-1));

}

Ответ: Если n нечетно, то возвращает n, иначе возвращается (n-1). Итак, если n равно 12, то мы получим, а если n равно 11, то получим 11.

Пожалуйста, пишите комментарии, если вы найдете какие-либо неправильные ответы / объяснения, или вы хотите поделиться дополнительной информацией по темам, обсужденным выше.

Рекомендуемые посты:

Вывод программ на C | Набор 14

0.00 (0%) 0 votes