Turbo-C
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
터보-C 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
Lua 게시판
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C/C++ Q/A
[5257] Re:배열선언에서 쓰레기값에 대해서...
이카루스 [icarus147] 2262 읽음    2005-08-29 20:38
홍민 님이 쓰신 글 :
: #include<stdio.h>
: #define man 4
: #define course 3
: void main()
: {
:     int score[man][course]={{100,90,80}, {90,80,70}, {80,70,60}, {70,60,50}};
:     int total[4]={0, };
:     int average[4];
:     int i,j;
:     int count=0;
:    
:     for(i=0; i<man; i++)
:     {
:         for(j=0; j<course; j++)
:         {
:             total[i]+=score[i][j];   <-----------------이 부분입니다.
:         }
:     }  
:         while( count<man )
:         {
:           average[count] = total[count]/course;   <--------------------이 부분입니다.
:           printf("<%d subject> sum=%d average=%d\n", count+1, total[count], average[count]);
:           count++;
:         }
:         
: }
: 간단한 배열을 통한 성적표만든 프로그램인데요..
: 위에 int total[4]={0, }; 배열을 초기값으로 선언하지 않으면 쓰레기값이 출력이 됩니다..
: 근데 int average[4]; 는 초기값선언을 하지 않아도 잘 실행되는데 왜 그런가요?

저도 아직 초보이지만 답변 드리겠습니다. ^^;;;

이중 for문에서

total[i]+=score[i][j];

가 있는데요 현재 total이라는 배열에 있는 값에 score배열의 값을 더해주는 것입니다. 배열을 초기화 해주기 전에는

그 배열안에 쓰레기값이 들어있습니다. 소스를 보시면 total 이라는 배열에 초기화를 해주시지 않고 초기화 되지 않은

그 쓰레기 값에 score 배열의 값을 더해주셨으므로 쓰레기 값이 나오게 되는 것입니다. average는 total과는 달리

쓰레기 값이 들어 있던 배열에 쓰레기 값이 담겨 있는 자신의 값을 사용하지 않고 total[count]/course 값을 넣어

주었으므로 쓰레기 값은 사라지고 total[count]/course 값이 들어갔으므로 상관이 없는 것입니다. ^^

이해가 되셨는지 모르겠습니다. 그럼 좋은하루 보내세요

+ -

관련 글 리스트
5256 배열선언에서 쓰레기값에 대해서... 홍민 1609 2005/08/29
5257     Re:배열선언에서 쓰레기값에 대해서... 이카루스 2262 2005/08/29
5258         Re:Re:배열선언에서 쓰레기값에 대해서... 김상면 2032 2005/08/30
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.