-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
미해결
예제에 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
강민철
2022.03.23
안녕하세요 :)
제시하신 코드 중 아래 코드는 scanf 값(성공적으로 읽어들인 인자의 개수)을 반환합니다.
그렇기에 last_char는 1만을 담게 되지요.
const char last_char = scanf("%c", &cha);
scanf의 반환값은 아래 링크를 참고해보세요.
https://modoocode.com/36
답변 1