inet Aton нормализация IPv4 адреса


Не предполагает Ли inet_aton нормализовать точечную версию интернет-адреса? почему я получаю разные выходные значения для примера ниже?

int main(){
    char USER_IP[16] = "192.168.002.025";
    char USER_IP2[16] = "192.168.2.25";
    struct sockaddr_in addr;
    struct sockaddr_in addr2;

    inet_aton(USER_IP2, &addr.sin_addr);
    inet_aton(USER_IP, &addr2.sin_addr);

    printf("addr.sin_addr:%lun", addr.sin_addr);
    printf("addr2.sin_addr:%lun", addr2.sin_addr);


    return 0;
}

Вывод:

addr.sin_addr:419604672
addr2.sin_addr:352495808
1 7

1 ответ:

Из документации

Компоненты точечного адреса могут быть заданы в десятичной, восьмеричной (с начальным 0) или > шестнадцатеричной (с начальным 0X) форме

Это означает, что

char USER_IP[16] = "192.168.002.025";

Подразумевает 192 168 2 (25 Восьмеричных == 21) и

char USER_IP2[16] = "192.168.2.25";

Подразумевает 192 168 2 25