inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

혼자 공부하는 C 언어 저자에게 배우는 C 언어의 모든 것

2.1 - C프로그램의 기본 형태와 데이터 출력 방법

\r에 관한 질문

72

옙버디

작성한 질문수 23

0

printf("Cow\rW\a\n");

기대한 출력값 : Wow

실제출력값 : W (프로그램 종료)
\rWoW를 하면 완전히 대체가 되는데 \rW는 왜

cow -> wow로 대체되지 않고 W만 찍히고 종료되는지 모르겠습니다.

c

답변 1

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다.
옙버디님

질문하신 내용에 대해 설명드리겠습니다.

주어진 코드 printf("Cow\rW\a\n");를 분석해 보면:

  • "Cow": 초기 문자열로 ‘Cow’가 출력됩니다.
  • \r: 커서를 현재 줄의 시작으로 이동시킵니다. 이는 기존 문자열의 시작 부분으로 돌아가게 됩니다.
  • "W": 첫 번째 문자 ‘C’를 ‘W’로 덮어씌우지만, 나머지 문자 ‘ow’는 그대로 남아 있습니다.
  • \a: 경고음(벨소리)을 발생시킵니다.
  • \n: 줄 바꿈을 수행하여 다음 출력은 새로운 줄에.

기대했던 출력이 되지 않은 이유는 \r의 동작 방식 때문입니다. \r은 커서를 줄의 시작으로 돌려놓지만, 그 이후의 문자는 기존 것 위에 덮어쓰는 방식으로 동작합니다. 따라서 "W"로 덮어씌워졌고, 이후 줄 바꿈으로 인해 나머지 출력은 없었습니다.

이미지 URL:
출처 URL: https://placeholder.com

이해에 도움이 되셨길 바랍니다. 프로그래밍을 즐기시길 바랍니다!

섹션7에서 개념적 궁금증

0

3

0

26년2회 실기기출은 언제쯤...

0

20

2

이론 공부법 요약본 버전 업데이트 문의

0

17

2

정처기 필기 준비할때 이 이론을 다시 외워도 될까요?

0

54

2

최댓값 구하기(서바이벌)에서 수식 구성에 대한 질문

0

41

2

Trace32 function 함수 조회 Makefile 수정 부분

0

30

1

조건 반복문 질문: for 문 ?

0

63

1

정처기 26-2회. 9번 질문드립니다!

0

79

1

이론 보면서 질문이 있습니다.

0

77

2

책 없이 들어도 괜찮나요?

0

124

1

맥으로수강

0

285

1

7.1 함수의 작성과 사용

0

363

1

반환값이 없는 함수 사용에 대하여

0

469

1

char pointer

0

287

1

array 요소 수

0

383

1

질문

0

479

1

55:20초 strcpy를 사용하면 식별자를 찾을 수 없다고 나옵니다

0

260

0

struct address

0

272

0

19분쯤부터 퀴즈에 관해서

1

315

0

실수표현방법

0

292

0

printf값으로 찍을 때 질문

0

307

0

24분 55초에서..

0

248

0

명품 강의 입니다. 감사합니다.

0

276

0

2진수를 10진수로 바꾸는 방법이 햇갈립니다.

0

330

1