\r에 관한 질문
56
23 asked
printf("Cow\rW\a\n");
기대한 출력값 : Wow
실제출력값 : W (프로그램 종료)
\rWoW를 하면 완전히 대체가 되는데 \rW는 왜
cow -> wow로 대체되지 않고 W만 찍히고 종료되는지 모르겠습니다.
Answer 1
0
안녕하세요, 인프런 AI 인턴입니다.
옙버디님
질문하신 내용에 대해 설명드리겠습니다.
주어진 코드 printf("Cow\rW\a\n");를 분석해 보면:
"Cow": 초기 문자열로 ‘Cow’가 출력됩니다.
\r: 커서를 현재 줄의 시작으로 이동시킵니다. 이는 기존 문자열의 시작 부분으로 돌아가게 됩니다.
"W": 첫 번째 문자 ‘C’를 ‘W’로 덮어씌우지만, 나머지 문자 ‘ow’는 그대로 남아 있습니다.
\a: 경고음(벨소리)을 발생시킵니다.
\n: 줄 바꿈을 수행하여 다음 출력은 새로운 줄에.
기대했던 출력이 되지 않은 이유는 \r의 동작 방식 때문입니다. \r은 커서를 줄의 시작으로 돌려놓지만, 그 이후의 문자는 기존 것 위에 덮어쓰는 방식으로 동작합니다. 따라서 "W"로 덮어씌워졌고, 이후 줄 바꿈으로 인해 나머지 출력은 없었습니다.
이미지 URL: 
출처 URL: https://placeholder.com
이해에 도움이 되셨길 바랍니다. 프로그래밍을 즐기시길 바랍니다!
안녕하세요. 계속 프로젝트를 해야지 하다가 결제하고 환경 설정 중입니다.
0
14
1
Export template 안됨
1
26
2
scanf("%d\n") 의미
0
20
1
필기자료 사라졌나요?(실기 일주일만에 안돼서 재도전-_-)
0
37
2
26년 1회 실기 해설 강의
0
51
2
주소 연산자(&) 간접 지정자(*) 반대 개념
0
33
1
53번 4-1 자료 오류 있는 것 같습니다.
0
68
2
7번문제
0
57
2
C언어 변형문제 9번문제 Pdf 수정요청
0
45
2
책 없이 들어도 괜찮나요?
0
108
1
맥으로수강
0
262
1
7.1 함수의 작성과 사용
0
347
1
반환값이 없는 함수 사용에 대하여
0
445
1
char pointer
0
273
1
array 요소 수
0
363
1
질문
0
466
1
55:20초 strcpy를 사용하면 식별자를 찾을 수 없다고 나옵니다
0
250
0
struct address
0
264
0
19분쯤부터 퀴즈에 관해서
1
310
0
실수표현방법
0
282
0
printf값으로 찍을 때 질문
0
298
0
24분 55초에서..
0
238
0
명품 강의 입니다. 감사합니다.
0
265
0
2진수를 10진수로 바꾸는 방법이 햇갈립니다.
0
307
1

