• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

예제에 scanf를 추가해봤는데 입력만 되고 출력이 안나와요!

22.03.23 16:35 작성 조회수 270

0

#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> //#define NUM_ROWS 12 #define FIRST_CHAR 'A' //#define LAST_CHAR 'K' int main() { char cha = 'A'; const char last_char = scanf("%c", &cha); //const char last_char = 'L'; const int num_rows = last_char - FIRST_CHAR + 1; int r; int c; for (r = 0; r < num_rows; ++r) { for (c = FIRST_CHAR + r; c < FIRST_CHAR + num_rows; ++c) printf("%c ", c); printf("\n"); } return 0; }
 
scanf로 마지막 문자를 받아서 작동시키려해봤는데 입력만 받고 바로 프로그램이 끝나는데 왜 그런지 알 수 있을까요?

답변 1

답변을 작성해보세요.

1

강민철님의 프로필

강민철

2022.03.23

안녕하세요 :)

제시하신 코드 중 아래 코드는 scanf 값(성공적으로 읽어들인 인자의 개수)을 반환합니다.

그렇기에 last_char는 1만을 담게 되지요.

const char last_char = scanf("%c", &cha); 

 

scanf의 반환값은 아래 링크를 참고해보세요.

https://modoocode.com/36