Рубрики

Выход программы C | Комплект 26

Прогнозировать выход следующих программ на Си.

Вопрос 1

#include <stdio.h>

   

int main()

{

  int arr[] = {};

  printf("%d", sizeof(arr));

  return 0;

}

Выход: 0
C (или C ++) допускает массивы размера 0. Когда массив объявляется с пустым списком инициализации, размер массива становится равным 0.

вопрос 2

#include<stdio.h>

  

int main()

{

  int i, j;

  int arr[4][4] = { {1, 2, 3, 4},

                    {5, 6, 7, 8},

                    {9, 10, 11, 12},

                    {13, 14, 15, 16} };

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

    for(j = 0; j < 4; j++)

      printf("%d ", j[i[arr]] );

  

  printf("\n");

  

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

    for(j = 0; j < 4; j++)

      printf("%d ", i[j[arr]] );

  

  return 0;

}

Выход:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
1 5 9 13 2 6 10 14 3 7 11 15 4 8 12 16

Доступ к элементам массива осуществляется с помощью арифметики указателей. Таким образом, значение arr [i] [j] и j [i [arr]] одинаково. Они оба означают (обр + 4 * я + j). Точно так же значение arr [j] [i] и i [j [arr]] одинаково.

Вопрос 3

#include<stdio.h>

int main()

{

    int a[2][3] = {2,1,3,2,3,4};

    printf("Using pointer notations:\n");

    printf("%d %d %d\n", *(*(a+0)+0), *(*(a+0)+1), *(*(a+0)+2));

    printf("Using mixed notations:\n");

    printf("%d %d %d\n", *(a[1]+0), *(a[1]+1), *(a[1]+2));

    return 0;

}

Выход:

Using pointer notations:
2 1 3
Using mixed notations:
2 3 4 

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

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

Выход программы C | Комплект 26

0.00 (0%) 0 votes