본문 바로가기

카테고리 없음

열혈 553p

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <stdbool.h>

int main(void)// 그리고 여기서 여러번 호출? 하는 것도 잘 모르겠는데
{
    int a;
    int i=0;
   
    

    
    int *arr=(int *)malloc(sizeof(int)*5);
    
    while(true){
        printf("정수를 입력하세요.");
        scanf("%d",&a);
        
        if(a==-1)
            break;
        
        arr[i]=a;
        i++;
       
        
        if(sizeof(arr)<sizeof(int)*i){
            arr=realloc(arr,sizeof(int)*3);
        }
        
    }
    i=0;
    while(true){
        printf("%d",arr[i]);
        i++;
        if(arr[i]=='\0')
            break;
    }
}
//배열이 꽉 찼는지 어떻게 판단하지? 배열의

그렇게 어렵진 않았아. 이미 문제에서 realloc을 쓰라고 힌트를 주기도 했었고.

 

그나마 약간 헷갈리는 부분이, 배열이 꽉찼는지 어떻게 판단할까 였는데, sizeof 쓰는 거 어디 인터넷에서 아이디어 얻어옴

https://dojang.io/mod/page/view.php?id=1755