수다닷컴

  • 해외여행
    • 괌
    • 태국
    • 유럽
    • 일본
    • 필리핀
    • 미국
    • 중국
    • 기타여행
    • 싱가폴
  • 건강
    • 다이어트
    • 당뇨
    • 헬스
    • 건강음식
    • 건강기타
  • 컴퓨터
    • 프로그램 개발일반
    • C언어
    • 비주얼베이직
  • 결혼생활
    • 출산/육아
    • 결혼준비
    • 엄마이야기방
  • 일상생활
    • 면접
    • 취업
    • 진로선택
  • 교육
    • 교육일반
    • 아이교육
    • 토익
    • 해외연수
    • 영어
  • 취미생활
    • 음악
    • 자전거
    • 수영
    • 바이크
    • 축구
  • 기타
    • 강아지
    • 제주도여행
    • 국내여행
    • 기타일상
    • 애플
    • 휴대폰관련
  • 프로그램 개발일반
  • C언어
  • 비주얼베이직

출력된 결과가 이해가 되질 않습니다.

해님꽃

2023.04.01

질문 제목 : 출력된 결과가 이해가 되질 않습니다.출력된 결과가 이해가 되질 않습니다.질문 내용 :

아래 소스를 보시면 빨간색 int형 val 변수는 전역변수라 초기화 해줄 필요없이 기본값 0으로 되있는건 알겠습니다.
근데 ..

첫번째 printf 문에서 val을 호출했을때 당연히 위에 있는 전역변수 값이 0으로 초기화 되있으니간

이값이 0으로 나오는것 까지도 알겠습니다.

근데이제 ..

두번째 세번째, printf 문이 왜 3하고 4가 나오는지 ......

아주 어설프게나마 이해가 가는데요 .. 정확하게 이해를 못하겠습니다 ...

책으로만 보고있어서 딱히 설명해줄분이 없네요 ..

이거 이해하기 전까진 다음진도 안나갈려고 합니다 ..

한수 배움 부탁드립니다 ㅜ#include stdio.h
int val;
void add(int num);
int main(void)
{
printf(val : %d \n,val); //0
add(3);
printf(val : %d \n,val); //
val++;
printf(val : %d \n,val); //
return 0;
}
void add(int n)
{
val+=n;
}

신청하기





COMMENT

댓글을 입력해주세요. 비속어와 욕설은 삼가해주세요.

  • 알프레드

    두분 감사드립니다 ㅜ 잘이해됬어요 ㅜㅜ

  • 종달

    첫번째 printf까지는 0이 나오는건 맞습니다.
    두번째 printf문은 왜 3이 나오냐면 위에 보시면 add(3)라는 함수에서 val 값을 계산해줬기
    (자세한 내용은 생략하겠습니다.) 때문에 두번째 printf문의 val 값이 3이 나오는 겁니다.
    세번째 printf문은 val++;에 의해서 값이 1이 증가되 4가 되는 겁니다.

  • 흙이랑

    Add로 3 을 더해주셔서 0에서 3으르되서 두번째는 3이고 val++로 1이증가합니다 그래서 3+1 = 4 고로출력은 0 3 4 가되겟네요

번호 제 목 글쓴이 날짜
2694503 프로그램 연산 후 바로 종료되는 현상 (6) Judicious 2025-05-11
2694450 while문질문입니다. (1) 허리품 2025-05-11
2694420 C언어 질문할게요(유니코드,자료형,버퍼,캐스트연산자) 은새 2025-05-11
2694370 내일까진데 함수호출 제발 도와주세요!!!!!!!!!11 들찬 2025-05-10
2694339 putchar()의 괄호 안에 int c=10;로 전에 선언된 c를 넣으면 안되는 이유에서 제가 생각한 것이 그 이유가 되는지 확인하고 싶습니다. (3) 미르 2025-05-10
2694316 이 코드 어디가 잘못되었는지 고수분들 ㅠㅠ (2) 나빛 2025-05-10
2694285 언어 공부하는 과정 좀 추천해주세요! (1) 아빠몬 2025-05-09
2694258 카운터.. 질문입니다. (4) 하늘빛눈망울 2025-05-09
2694229 단순한 질문이요 (8) 여름 2025-05-09
2694202 용돈을 가지고 할 수 있는 일을 여러가지로 출력하는 방법 좀 알려주세요! (2) 미나 2025-05-09
2694145 화면깜빡임을 없애고 싶은데요... (1) 어서와 2025-05-08
2694069 unsigned 질문입니다. 힘차 2025-05-07
2694012 전공 비전공자 개발자 (10) 말글 2025-05-07
2693984 오버로딩이 무엇인가요? (2) 헛매질 2025-05-07
2693956 PlaySound재생이 안됩니다!(C에 음악넣기) 지존 2025-05-06
2693928 &와 *의 사용에 관한 명확한 이해 제나 2025-05-06
2693903 반복문 설명좀요 ㅠㅠ (2) 란새 2025-05-06
2693869 stdio.h 는 왜 쓰는건가요? (1) 큰꽃들 2025-05-06
2693842 포인터 변수의 주소값끼리 더하는 것에 대해서 질문드립니다. (1) 진솔 2025-05-05
2693811 소수 출력;;;; 화이트캣 2025-05-05
<<  이전  1 2 3 4 5 6 7 8 9 10  다음  >>

수다닷컴 | 여러분과 함께하는 수다토크 커뮤니티 수다닷컴에 오신것을 환영합니다.
사업자등록번호 : 117-07-92748 상호 : 진달래여행사 대표자 : 명현재 서울시 강서구 방화동 890번지 푸르지오 107동 306호
copyright 2011 게시글 삭제 및 기타 문의 : clairacademy@naver.com