Объясните код - 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
Листинг программы
}