편집 기록

편집 기록
  • 프로필 nowp님의 편집
    날짜2020.11.09

    c언어 gets 함수 오류 질문


    void main()
    {
    
            int m=1000 ,MAX = 0;;//최솟값 최댓값
    
        int i, j; //for문
    
        int a = 0, l = 80, try = 0, r = 0; //사람수 글자수
    
        scanf("%d%*c", &a);
        char** name = 0;
        int** rank = 0;
        int** votes = 0;
        char NAMESIZE[NAME_SIZE];
        fgetc(stdin);
    
        if (a <= 20)
        {
            name = malloc(sizeof(char*) * a);
            for (i = 0; i < a; i++)
            {
                name[i] = malloc(sizeof(char) * 80);
            }
    
            for (i = 0; i <a; i++)
            {
                fgets(name[i],NAME_SIZE,stdin); @@@@@@@@@@@@@@@@@@
            }
    
            rank = malloc(sizeof(int*) * 1000);
            for (i = 0; i <10; i++)
            {
                rank[i] = malloc(sizeof(int) * a);
            }
    
            votes = malloc(sizeof(int*) * 1000);
            for (i = 0; i <= 1000; i++) //1000바꾸기
            {
                votes[i] = malloc(sizeof(int) * a);
            }
    
            for (j = 0; j <= a; j++) //여기도
            {
                votes[0][j] = 0;
            }
        }
        else printf("20명 이하로 등록해주세요.");
    
        vote(name, rank,votes, a, try,m,MAX);
    
        for(i=0;i<=a;i++)
        {
            free(name[i]);
            free(rank[i]);
        }
        free(name);
        free(votes);
            for(i=0;i<=1000;i++)
        {
            free(votes[i]);
        }
        free(rank);
    }
    

    @@@부분 봐주세요 비쥬얼 스튜디어에서는 잘 작동했는데 dev-c++프로그램은 이름을 입력하면 바로 종료가 되네요.어떻게 해결해야할까요? c언어 입니다. gets함수에서 오류가 있는 것 같아요

  • 프로필 알 수 없는 사용자님의 편집
    날짜2020.11.08

    c언어 gets 함수 오류 질문


    void main() {

        int m=1000 ,MAX = 0;;//최솟값 최댓값
    
    int i, j; //for문
    
    int a = 0, l = 80, try = 0, r = 0; //사람수 글자수
    
    scanf("%d%*c", &a);
    char** name = 0;
    int** rank = 0;
    int** votes = 0;
    char NAMESIZE[NAME_SIZE];
    fgetc(stdin);
    
    if (a <= 20)
    {
        name = malloc(sizeof(char*) * a);
        for (i = 0; i < a; i++)
        {
            name[i] = malloc(sizeof(char) * 80);
        }
    
        for (i = 0; i <a; i++)
        {
            fgets(name[i],NAME_SIZE,stdin); @@@@@@@@@@@@@@@@@@
        }
    
        rank = malloc(sizeof(int*) * 1000);
        for (i = 0; i <10; i++)
        {
            rank[i] = malloc(sizeof(int) * a);
        }
    
        votes = malloc(sizeof(int*) * 1000);
        for (i = 0; i <= 1000; i++) //1000바꾸기
        {
            votes[i] = malloc(sizeof(int) * a);
        }
    
        for (j = 0; j <= a; j++) //여기도
        {
            votes[0][j] = 0;
        }
    }
    else printf("20명 이하로 등록해주세요.");
    
    vote(name, rank,votes, a, try,m,MAX);
    
    for(i=0;i<=a;i++)
    {
        free(name[i]);
        free(rank[i]);
    }
    free(name);
    free(votes);
        for(i=0;i<=1000;i++)
    {
        free(votes[i]);
    }
    free(rank);
    

    } @@@부분 봐주세요 비쥬얼에서는 잘 작동했는데 dev-c++프로그램은 이름을 입력하면 바로 종료가 되네요,,,어떻게 해결해야할까요? c언어 입니다. gets함수에서 오류가 있는 것 같아요