Date création : 26-10-2007 00:00:00 Date de la dernière modification : 12-01-2008 18:06:20
 Vous êtes dans : Langage C Astuces / Exercices
Ennoncé
Decouper une adresse IP en partie réseau et partie adresse
Solution
#include <stdio.h>
int main(void)
{
int ip1,ip2,ip3,ip4; /* les 4 octets d'IP*/
int m1,m2,m3,m4; /* les 4 octets de la masque reseau*/
printf("Entrez une adresse IP : ");
scanf("%d.%d.%d.%d",&ip1,&ip2,&ip3,&ip4);
printf("Entrez la masque reseau : ");
scanf("%d.%d.%d.%d",&m1,&m2,&m3,&m4);
printf("L'ip : %d.%d.%d.%d\n",ip1,ip2,ip3,ip4);
printf("partie reseau : %d.%d.%d.%d\n",
ip1 & m1,
ip2 & m2,
ip3 & m3,
ip4 & m4);
printf("partie adresse : %d.%d.%d.%d\n",
ip1 & (~m1),
ip2 & (~m2),
ip3 & (~m3),
ip4 & (~m4));
return 0;
} |
La compilation et l'éxécution
root@debian:~# gcc decoup_ip.c
root@debian:~# ./a.out
Entrez une adresse IP : 192.168.1.10
Entrez la masque reseau : 255.255.255.0
L'ip : 192.168.1.10
partie reseau : 192.168.1.0
partie adresse : 0.0.0.10
|
Explication
|