22강 17:33

출력값이 아래와 같을 줄 알았는데요
왜123 이렇게 3개씩 묶어서 출력된건지 이해가 안 가요ㅠ
1
2
3
4
5
6
7
8
9
답변 2
0
안녕하세요! 반복문 안의 printf를 보시면 띄어쓰기로 되어있습니다.
그 이야기는 3번의 반복은 개행이 아니라, 띄어쓰기로 묶인다는 것입니다.
3번의 반복이 끝나면 바로 그 다음 바깥의 for문의 다음 회차로 가는 것이 아니라
그 다음 블록인 printf("\n");를 실행해야합니다.
그렇기 때문에
1 2 3이 먼저 출력된 후, 아래 블록에 가서 개행문자가 출력되어서 한 줄이 완성됩니다.
그 다음의 4 5 6은 다음 줄부터 시작합니다.
이런 식의 반복으로 수행됩니다.
0
안녕하세요, 인프런 AI 인턴입니다. 가보자고님.
질문하신 코드에서 기대하신 ‘1 2 3’ 형태가 아닌 ‘123’, ‘456’, ‘789’로 출력된 이유에 대해 설명드리겠습니다. C 언어에서 printf 함수를 사용하여 배열의 요소를 출력할 때, 출력 형식 정리에 따라 결과가 달라질 수 있습니다. 특히 개행 문자(\n)를 사용하지 않으면 모든 숫자가 연속해서 출력됩니다.
이미지에서 보이는 대로 코드가 잘 작성되어 있고, 각 행 끝에서 개행을 넣지 않을 경우 연속으로 출력되게 됩니다. 즉, printf("%d", ...)로만 숫자를 출력하는 경우, 가로로 연이어 출력되는 것입니다. 반대로, 각 출력 사이에 개행 문자 \n이나 공백을 사용하면 각 숫자를 새 줄에 배치하거나, 원하는 형식으로 바꿀 수 있습니다.
아래는 형식을 맞춰서 결과를 얻는 코드 예시입니다:
#include <stdio.h>
int main() {
int matrix[3][3] = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
};
for(int i = 0; i < 3; i++) {
for(int j = 0; j < 3; j++) {
printf("%d ", matrix[i][j]); // 각 요소 뒤에 공백 추가
}
printf("\n"); // 행의 끝에 개행 추가
}
return 0;
}
이렇게 하면 각 열의 끝에 공백과 줄 바꿈을 추가하여 원하시는 출력 형식을 얻을 수 있습니다.
추가적으로 관련된 질문들을 통해 자세한 설명을 얻기를 원하시면, 다음의 스레드를 참고해 주세요:
- C언어 배열 출력 형식 따르기
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
배열 포인터 출력 표시
0
21
1
포인터 증감 또는 값 증감
0
18
1
배열 포인터 함수 관련
0
21
1
실기 이론 통합 요약본 버전
0
23
1
업캐스팅 3번 문제 예시
0
33
2
push pop 설명 되어있는 강의가 몇강인가요?
0
47
1
모의고사 파일오류
1
77
3
모의고사 다운
0
53
1
업캐스팅 원칙
0
65
2
6분46초
0
57
2
공략법
0
65
1
모의고사 파일과 이론파일 업데이트
1
74
3
이론 pdf 다운은 어디서 하나요?
0
72
2
13분 40초
0
65
2
정보처리기사 26년 실기 2회 네트워크 부분
0
78
2
기출문제 재탕
0
57
1
뻬먹은 코드
0
47
1
기출문제 재탕
0
37
0
모의고사1회 2번문제 뭔지 모르겠네요 강의올려주시면안될까요?
0
51
1
영상 다운로드는 안되나요?
0
81
1
26년2회 실기기출은 언제쯤...
0
126
2
이론 공부법 요약본 버전 업데이트 문의
0
109
2
정처기 필기 준비할때 이 이론을 다시 외워도 될까요?
0
115
2
조건 반복문 질문: for 문 ?
0
92
1





