Необычная форма записи typedef - C (СИ)

Узнай цену своей работы

Формулировка задачи:

int typedef (*fptr) (int);
Такой код нормально съели gcc, clang, sun cc Пока экспериментировал, неожиданно для себя выяснил, что incomplete-структуры можно использовать не только при описании указателей, но и в качестве параметра/результата при описании прототипа функции
struct s foo (struct s);

Решение задачи: «Необычная форма записи typedef»

textual
Листинг программы
#include <stdio.h>
 
int main(void) {
    int i, arr[] = { 1, 2, 3 };
    
    for ( i = 0; i < 3; ++i )
        printf("%d\n", i[arr]);
    
    return 0;
}

Объяснение кода листинга программы

В данном коде необычная форма записи typedef отсутствует.

  1. #include Объявляем стандартное вхождение, которое позволяет использовать функции файла стандартного ввода/вывода.
  2. int main(void) { Определяем точку входа в программу.
  3. int i, arr[] = { 1, 2, 3 }; Объявляем переменные и инициализируем массив.
  4. for ( i = 0; i < 3; ++i ) Задаем цикл for для перебора элементов массива.
  5. printf(%d\n, i[arr]); Выводим значение элемента массива с индексом i на экран.
  6. return 0; Завершаем выполнение программы. Ошибки в коде:
  7. i[arr] В данном контексте некорректно обращаться к элементу массива через переменную цикла. Верно будет написать arr[i].
  8. Отсутствует прохождение по всем элементам массива, так как цикл выполняется только для i < 3. Верно будет написать for ( i = 0; i < 3; ++i ).

Оцени полезность:

11   голосов , оценка 3.818 из 5