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)로 넣는 방법이 궁금합니다.
1 답변
-
아래 코드 참고하세요.
- 코드
#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; }
- 결과
-
(•́ ✖ •̀)
알 수 없는 사용자
댓글 입력