Объясните код - C (СИ) (155983)

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

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

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char **argv){
    int *arr, far_num, k;
    size_t count, i;

    if ( argc < 4 ){
        printf("Too many parameters!\n");
        printf("Usage: program_name k n1 n2 n3...\n");
        exit(1);
    }
    k = atoi(argv[1]);
    count = argc - 2;
    argv += 2;
    
    if ( ( arr = (int*)malloc(sizeof(int) * count) ) == NULL ){
        printf("Not enough memory!\n");
        exit(1);
    }
    
    for ( i = 0; i < count; ++i )
        arr[i] = atoi(argv[i]);
    
    far_num = arr[0];
    for ( i = 1; i < count; ++i )
        if ( abs(k - arr[i]) > abs(k - far_num) )
            far_num = arr[i];
    printf("Far away number from %d is %d\n", k, far_num);
    
    free(arr);
    exit(0);
}
Не могу разобрать помогите пожалуйста.
Прошу прощения перепутал темы , прошу перенесите тему в раздел Си

Решение задачи: «Объясните код»

textual
Листинг программы
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

8   голосов , оценка 4.375 из 5