인프런 커뮤니티 질문&답변

dev_s님의 프로필 이미지

작성한 질문수

문제로 배우는 C언어

배열의 역순 출력

배열의 역순 질문입니다.

해결된 질문

20.05.15 00:00 작성

·

521

0

// for문을 거꾸로 돌리지 않고 출력해보고 싶어서 j=0; 일때 n=5; 이고 해서

// (j-(n-1) 이런식으로 배열을 작성해봤는데요 0-(5-1) =4 이고 j가 ++되니깐 4,3,2,1,0이렇게 줄어들면 역순으로 출력되지

// 않을까 했는데 쓰레기값이 출력되더라구요 혹시 왜 그런지 알수있을까요?

int main()
{
	int n,i =0,j=0;
	int arr[101];

	scanf("%d", &n);
	for (i = 0; i < n; i++)
	{
		scanf("%d", &arr[i]);
	}

	for (j = 0; j < n; j++)
	{
		printf("%d\n", arr[(j-(n-1))]);
	}
}

답변 2

0

dev_s님의 프로필 이미지
dev_s
질문자

2020. 05. 18. 15:13

아.. 감사합니다.

0

김태원님의 프로필 이미지
김태원
지식공유자

2020. 05. 17. 22:28

0-(5-1) = -4입니다.

아래 코드처럼 하면 됩니다.

for (j = 0; j < n; j++)
{
	printf("%d\n", arr[n-j-1]);
}

dev_s님의 프로필 이미지

작성한 질문수

질문하기