코드값 출력과 그 이유
연파랑
2023.04.01
질문 제목 :
코드값 출력과 그 이유
이거 코드값 출력과 이유를 모르겠네요. ㅠㅠ (전역변수)
아 답은 10 10 30 이에요
질문 내용 :
//전역변수를 사용하여 프로그램이 복잡해지는 경우
#includestdio.h
void f(int);
void g(void);
int n = 10;
int main(void)
{
printf(n=%d\n, n);
f(n);
printf(n=%d\n, n);
g();
printf(n=%d\n, n);
return 0;
}
void f(int n)
{
n=20;
}
void g(void)
{
n=30;
}
-
우람늘
제가 적은게 정확한지는 모르지만 일단
전역변수 n = 10이므로 처음에 10을 출력합니다.
그다음 f함수에 n값을 넘겨주는데 그 n값을 받는 f함수의 int n은 f함수에서만 사용되는 지역변수가 됩니다.
전역변수 n과 별개죠.
그래서 지역변수 n에 20을 넣어줘도 전역변수 10은 변함이 없으므로 10이 출력됩니다.
그다음 g함수를 불러오는데 여기는 n이 따로 선언된게 없으므로 전역변수 n에 30을 넣어줍니다.
그래서 30이 출력되는거죠
10 20 30을 -
회전력
제 실력이 모자라긴 하지만... 의심가는 부분은 void f(int n) 입니다. n을 함수 f에 피라미터로 주어져있네요. 함수 g는 아무것도 없고요. 이미 피라미터로 정의가 되있기때문일꺼라고 생각되요.
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2695766 | 달팽이 배열 어디서 틀렸는지 모르겠습니다ㅠㅠ | 연분홍 | 2025-05-23 |
2695738 | fopen과fclose질문~~ (5) | 희선 | 2025-05-23 |
2695707 | 3의 배수 나타내기. (2) | 수리 | 2025-05-23 |
2695626 | 피보나치수열 과제 때문에 질문 드립니다. (6) | 옆집언니 | 2025-05-22 |
2695595 | 포인트공부중입니다 int형에서 4=1 인가요? (3) | 족장 | 2025-05-22 |
2695567 | 드라이브 고유번호를 가져오는 함수 (2) | 초코맛사탕 | 2025-05-21 |
2695533 | 음수의 산술변환! 질문이요 ㅠㅠ... (4) | 꽃여름 | 2025-05-21 |
2695506 | 구조체 배열 이용 도서목록 출력 프로그램 (1) | 가을귀 | 2025-05-21 |
2695450 | c언어 함수 질문이요.... | 이슬비 | 2025-05-20 |
2695403 | VirtualAlloc함수 및 메모리 질문 | 크리에이터 | 2025-05-20 |
2695355 | c언어 for함수 | 미쿡 | 2025-05-19 |
2695327 | 안녕하세요 제가 이번에 좀 큰 프로그램을.. | 악당 | 2025-05-19 |
2695295 | mutex동기화의 thread기반 채팅 서버소스 질문입니다 | 그루터기 | 2025-05-19 |
2695270 | 질문이요..swap 관한겁니다..ㅠㅠ (3) | 콩알녀 | 2025-05-19 |
2695244 | 노땅초보궁금한게 하나 있는데요..반복문(while문)초보자질문 (6) | 큰꽃늘 | 2025-05-18 |
2695166 | do while 문 어떤것이잘못된건지 모르겠어요 (2) | 아이폰 | 2025-05-18 |
2695122 | 구조체에 대해 물어보고 싶은게 있습니다 ^^^.. (7) | 수련 | 2025-05-17 |
2695091 | txt 파일 입출력 후 2차 배열에 저장하기입니다. (3) | 헛장사 | 2025-05-17 |
2695063 | 수도요금 프로그램좀 짜주세요. | 시내 | 2025-05-17 |
2695033 | 답변좀요ㅠㅠ (1) | 비사벌 | 2025-05-16 |