2013-09-06 2 views
-1

C에서이 작업을 수행하려면 어떻게해야합니까? 0.0.0.0에서 255.255.255.255까지 가능한 모든 IPv4 IP 주소를 생성하고 싶습니다. 4 개의 for-loops를 시도했지만 작동하지 않았습니다. 나는 C 프로그래밍에 익숙하지 않고 이것을하는 방법에 관심이있다. 고맙습니다.C 범위를 사용하여 IPv4 범위의 모든 IP 주소 생성

+2

아마 루프를 표시하면 작동하지 않는 이유를 설명 할 수 있습니다. – Leonardo

+1

시도한 내용과 코드에서 발견 한 문제를 게시하십시오. – trogdor

+1

힌트 : 당신은 실제로 모든 부호없는 32 비트 숫자의 목록을 요구하고 있습니다. –

답변

2

많은 시간 동안 실행됩니다 (printf 콘솔에 인쇄되기 때문에). MAX_COMPONENT (5 ~ 6)에 대해 더 작은 값을 사용하여 테스트 해 보시기 바랍니다.

#include <stdio.h> 
#define MAX_COMPONENT 255 

int main(void) 
{ 
    for (int c1 = 0; c1 <= MAX_COMPONENT; ++c1) 
     for (int c2 = 0; c2 <= MAX_COMPONENT; ++c2) 
      for (int c3 = 0; c3 <= MAX_COMPONENT; ++c3) 
       for (int c4 = 0; c4 <= MAX_COMPONENT; ++c4) 
        printf("%d.%d.%d.%d\n", c1, c2, c3, c4); 
    return 0; 
} 
+2

나는 그것이 C99 준수를 전제로 한 것일 수 있습니다. C89에서는 for 루프에서 'c1','c2','c3' 및'c4' 선언을 이동하여 주체의 시작 부분에 배치해야합니다. :-) –

+0

당신 각하. 천재 야. –

관련 문제