fork download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4.  
  5. char *stringIP(unsigned int IP);
  6. unsigned int intIP(char *string);
  7.  
  8.  
  9. int main(void) {
  10. char startIP[16], endIP[16];
  11.  
  12. printf("Введите начальный IP: ");
  13. scanf("%s", startIP);
  14. printf("Введите конечный IP: ");
  15. scanf("%s", endIP);
  16.  
  17. for (unsigned int i = intIP(startIP) + 1; i < intIP(endIP); ++i) {
  18. printf("%s\n", stringIP(i));
  19. }
  20.  
  21. return 0;
  22. }
  23.  
  24.  
  25. unsigned int intIP(char *string) {
  26. unsigned char *ptr = malloc(4);
  27. sscanf(string, "%hhu.%hhu.%hhu.%hhu", ptr+3, ptr+2, ptr+1, ptr);
  28. return *(unsigned int *) ptr;
  29. }
  30.  
  31.  
  32. char *stringIP(unsigned int IP) {
  33. char *string = malloc(16);
  34. unsigned char *ptr = (unsigned char *) &IP;
  35.  
  36. sprintf(string, "%d.%d.%d.%d", ptr[3], ptr[2], ptr[1], ptr[0]);
  37.  
  38. return string;
  39. }
Success #stdin #stdout 0.02s 1856KB
stdin
192.168.0.250
192.168.1.20
stdout
Введите начальный IP: Введите конечный IP: 192.168.0.251
192.168.0.252
192.168.0.253
192.168.0.254
192.168.0.255
192.168.1.0
192.168.1.1
192.168.1.2
192.168.1.3
192.168.1.4
192.168.1.5
192.168.1.6
192.168.1.7
192.168.1.8
192.168.1.9
192.168.1.10
192.168.1.11
192.168.1.12
192.168.1.13
192.168.1.14
192.168.1.15
192.168.1.16
192.168.1.17
192.168.1.18
192.168.1.19