2014-09-01 2 views
-1

배열을 만들고 무작위 및 무의미한 IP 주소로 채우기 연습을 마치고 있습니다.Rand()를 사용하여 다차원 배열을 채 웁니다.

2 차원 array[5][4]으로되어 있습니다. 그것은 5 개의 주소, 각각 4 부분으로 구성됩니다 (예 : {192, 168, 0, 1}.) 배열의 한 차원 만 채우려면 rand() 함수를 사용하여 내 문제가 온다. 어떻게 그것을 알아낼 수 없습니다. 방법이 :

  • 프로그램을 충돌하지 않으며,
  • 가 완전히 무작위 결과를 생성하지 않습니다

    1. 컴파일러 받아,

    내 주요 문제는에서 온다 있지만. 루프 for (int o = 0; o < octets; o++) 아래에서 내 코드, 모범 사례 등에 대해 자유롭게 의견을 말하십시오.

    #include <stdio.h> 
    #include <stdlib.h> 
    
    int main() { 
        const int addresses = 5, octets = 4; 
        int ips[addresses][octets]; 
    
        for (int a = 0; a < addresses; a++) { 
         for (int o = 0; o < octets; o++) { 
          ips[octets] = rand() % 255; 
         } 
        } 
        for (int i = 0; i < addresses; i++) { 
         for (int j = 0; j < octets; j++) { 
          printf("%d ", ips[i][j]); 
         } 
         putchar('\n'); 
        } 
        return 0; 
    } 
    

    이 코드에 대한 컴파일러 오류가 ...입니다 :

    ipAddressArray.c: In function 'main': 
    ipAddressArray.c:18:18: error: incompatible types when assigning to type 'int[(s 
    izetype)octets]' from type 'int' ps[octets] = rand()%255; 
    
  • +1

    같은이 루프. – juanchopanza

    답변

    2

    재 작성 당신은`IPS [옥텟]`무엇인지 생각해야

    for (int a = 0; a < addresses; a++) { 
        for (int o = 0; o < octets; o++) { 
         ips[a][o] = rand() % 255; 
        } 
    } 
    
    관련 문제