c언어 배열 역출력 함수 질문이요!

조회수 59회
#define _crt_secure_no_warnings
#include<stdio.h>
void GetIntArray(int v[], int n);
void ReverseIntArray(int v[], int n);
void PrintIntArray(int v[], int n);

int main()
{
    int tem[] = { 0 };
    int n;
    GetIntArray(tem,n);
    ReverseIntArray(tem,n);
    PrintIntArray(tem,n);
}

void GetIntArray(int v[], int n)
{
    int i;
    for (i = 0; i < n; i++)
        scanf("%d", &v[i]);
}

void ReverseIntArray(int v[], int n)
{
    int i;
    int tem2[] = { 0 };
    for (i = 0; i < n; i++)
        tem2[i] = v[i];
    for (i = 0; i < n; i++)
        v[i] = tem2[n - 1 - i];
}

void PrintIntArray(int v[], int n)
{
    int j;
    for (j = 0; j < n; j++)
        printf("%d", v[j]);
}

배열 역출력 함수 질문입니다. n개의 정수를 입력받아 1,2,3,4,5-> 5,4,3,2,1이 나와야 합니다 어디가 오류인지 모르겠습니다.

1 답변

  • 좋아요

    3

    싫어요
    채택 취소하기

    배열은 선언과 함께 크기가 고정되어 있어야 해요. 지금은 배열 선언부분이 모두 틀렸고, n이 입력 받을 값의 개수를 저장할 변수인거 같은데 아무 값도 입력되어 있지 않아서 정상 동작하지 않습니다.

    수정된 아래 코드 참고하세요.

    #define _CRT_SECURE_NO_WARNINGS
    
    #include<stdio.h>
    void GetIntArray(int v[], int n);
    void ReverseIntArray(int v[], int n);
    void PrintIntArray(int v[], int n);
    
    #define ARRAY_SIZE 20
    
    int main()
    {
        int tem[ARRAY_SIZE] = { 0 };
        int n = 5;
        GetIntArray(tem, n);
        ReverseIntArray(tem, n);
        PrintIntArray(tem, n);
    }
    
    void GetIntArray(int v[], int n)
    {
        int i;
        for (i = 0; i < n; i++)
            scanf("%d", &v[i]);
    }
    
    void ReverseIntArray(int v[], int n)
    {
        int i;
        int tem2[ARRAY_SIZE] = { 0 };
        for (i = 0; i < n; i++)
            tem2[i] = v[i];
        for (i = 0; i < n; i++)
            v[i] = tem2[n - 1 - i];
    }
    
    void PrintIntArray(int v[], int n)
    {
        int j;
        for (j = 0; j < n; j++)
            printf("%d", v[j]);
    }
    
    
    • 결과

    이미지

답변을 하려면 로그인이 필요합니다.

Hashcode는 개발자들을 위한 무료 QnA 사이트입니다. 계정을 생성하셔야만 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)

ᕕ( ᐛ )ᕗ
로그인이 필요합니다

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 계정을 생성하셔야만 글을 작성하실 수 있습니다.