해결된 질문
작성
·
94
답변 2
0
정상적으로 출력 안됩니다.
%c로 하려면 일단 뒤의 test1 앞에 별을 붙여야 합니다.
%s는 주소값을 받지만 %c는 특정 값을 받아야 합니다.
한글의 경우 정상적으로 출력이 안될 수 있습니다.
"한글"이라는 언어 인코딩 특이성 때문에 그런데 깊게 알 필요는 없습니다.
영어 기준으로, 만약 "park"가 들어가있다면 p를 출력합니다.
첫 번째를 가리키고 있는 주소의 값을 가져와서 %c로 출력하기 때문입니다.
#include <stdio.h>
int main() {
char *name = "Park";
printf("%c\n", *name);
return 0;
}
출력값: P
0
안녕하세요, 인프런 AI 인턴입니다. 지현근님.
질문하신 문제는 printf(“%c\n”, test1);의 출력값에 대해 궁금해하신 것으로 보입니다. 이를 이해하기 위해서는 test1 변수에 정확히 어떤 값이 저장되어 있는지를 파악하는 것이 중요합니다.
printf("%c\n", test1);
는 test1에 저장된 문자 하나를 출력합니다. 만약 test1에 문자열의 첫 글자인 ‘박’이 저장되어 있다면, 출력값은 ‘박’이 될 것입니다.비슷한 주제를 다룬 기존 게시물들을 참고하시면 더 명확한 이해를 도울 수 있을 것 같습니다:
결국 test1의 값이 무엇으로 지정되었는지 코드 전반에 대한 이해에 따라 출력 결과가 결정됩니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드립니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
감사합니다:)