본문 바로가기
배운 것들 메모/따라 배우는 C언어

[홍정모의 따라하며 배우는 C언어] 6.17 for 루프를 배열과 함께 사용하기

by 야속한 낭만 2024. 10. 20.

 

for 루프를 배열과 함께 사용하기

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

#define SIZE 5	

int main()
{
	int my_arr[SIZE];

	for (int i = 0; i < SIZE; ++i)
		my_arr[i] = i;

	for (int i = 0; i < SIZE; ++i)
		printf("%d ", my_arr[i]);

	return 0;
}

 

배열을 for문을 통해 응용하면 이렇게 쓸 수 있다.

 

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

#define SIZE 5	

int main()
{
	int my_arr[SIZE];

	for (int i = 0; i < SIZE; ++i)
	{
		my_arr[i] = i;
		printf("%d ", my_arr[i]);
	}
	return 0;
}

 

printf문을 for 문안에 집어 넣어도 되지 않나 ?

 

물론, 지금 상황에서는 되지만, 처리하는 데이터 양이 많아지면 이야기가 달라진다고 한다.

 

아마, 성능 저하에 관한 이야기인듯.

 

 

만약, 배열에 있는 값을 직접 추적하고 싶다면

f10 누르고, 왼쪽 하단에 조사식 누르고,

감시할 항목 추가를 클릭

 

 

예를 들면 my_arr의 3번 째 값을 알고 싶다.

my_arr[2]를 기입하고 엔터.

아직은 쓰레기값이 들어가 있는 걸 알 수 있다.

1 + 2; 더미 값을 넣는 이유는 f10을 통해 쉽게 확인하기 위해서

 

연습 문제 1)

숫자들 입력 받은 숫자들의 합을 출력해주는프로그램을 구현해라.

(단, 배열과 for 루프를 함께 사용해야함)

 

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

#define SIZE 5	

int main()
{
	int my_arr[SIZE];
	int sum = 0;
	
	for (int i = 0; i < 5; i++)
	{
		printf("Enter 5 number : ");
		scanf("%d", &my_arr[i]);
	}
	for (int i = 0; i < 5; i++)
	{
		sum += my_arr[i];
	}
	printf("%d\\n", sum);

}

 

여기다가 평균을 구하고 싶다고 하면

마지막에 sum = sum / SIZE; 을 쓰면 되겠죠?

 

출처:  홍정모의 따라배우는 C언어

강의 외의 추가된 것들은 책 그리고 인터넷 조사해서 얻었음