• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

Printf 함수와 putchar 함수 관련 질문입니다.

24.01.12 16:01 작성 조회수 75

1

1705042721389.png1705042719410.png강의를 듣다가 아래 사진은 제가 직접 짠 코드고 위의 사진은 교수님이 보여주신 정답코드인데 printf함수를 putchar 함수로 바꾸니 원하는 결과가 나왔습니다. Printf함수로는 왜 안되는건가요??

답변 1

답변을 작성해보세요.

2

Soobak님의 프로필

Soobak

2024.01.12

안녕하세요, 답변 도우미 Soobak 입니다.

 

강의 8.5 숫자와 문자를 섞어서 입력받기, 초반 부분의 void display(char cr, int lines, int width); 함수 작성해보기 퀴즈에 대한 질문이시군요.


putchar() 함수 대신 printf() 함수를 사용하셔서 문제가 생긴 것이 아니라, printf() 함수의 사용 자체에 문제가 있으셨기 때문입니다.

질문자님께서 작성하신 코드 중, printf("%c", &cr); 에서 %c 는 문자(char)를 출력하는 형식 지정자 입니다.
하지만, &crcr 변수의 주소를 나타내기 때문에, 이 경우 printf() 함수는 문자의 주소문자로 출력하려고 시도하고, 이는 정의되지 않은 행동을 초래하게 되어 예상치 못한 문자가 출력되는 것입니다.
scanf() 함수의 사용과 혼동이 있으셨던 것 같습니다.

올바른 사용법은 printf("%c", cr); 입니다. 👍