A함수에서 입력받고, B함수에서 출력하는 방법.

조회수 518회
#include <stdio.h>
int A(int x)
{
    scanf("%d", &A);
    return A;
}
int B(int x)
{
    printf("%d", x);
}
void main()
{
    int x = 0;
    A(x);
    printf("할당 : %d\n", A(x)); // 할당 받은 값이 나오는 것을 확인함.
    printf("할당: %d\n", x); // 할당 받은 값이 안나오고 전역변수 0이 나옴.
    B(x);
}

A(x)에서 받은 scanf 값을 B(x)에 할당을 하고 싶은데 출력을 해보니 0으로 나옵니다. A(x)에서 받은 scanf 값을 B(x)로 넣는 방법이 궁금합니다.

  • 아 설마!! x = A(x); 하면 되나요??!! HelloWorld 2020.10.29 19:20

1 답변

  • 좋아요

    0

    싫어요
    채택 취소하기

    아래 코드 참고하세요.

    • 코드
    #define _CRT_SECURE_NO_WARNINGS
    
    #include <stdio.h>
    
    int A()
    {
        int x = 0;
        scanf("%d", &x);
        return x;
    }
    
    void B(int x)
    {
        printf("B: %d", x);
    }
    
    int main()
    {
        int x = 0, y = 0;
        x = A();
        printf("x: %d\n", x);
        B(x);
    
        return 0;
    }
    
    • 결과

    이미지

    아니면 포인터를 사용해서 아래와 같이 해도 됩니다.

    • 코드
    #define _CRT_SECURE_NO_WARNINGS
    
    #include <stdio.h>
    
    void A(int *x)
    {
        scanf("%d", x);
    }
    
    void B(int x)
    {
        printf("B: %d", x);
    }
    
    int main()
    {
        int x = 0, y = 0;
        A(&x);
        printf("x: %d\n", x);
        B(x);
    
        return 0;
    }
    
    • 결과

    이미지

    • (•́ ✖ •̀)
      알 수 없는 사용자
    • 알려주셔서 감사합니다! HelloWorld 2020.10.29 19:41

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

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)