작성
·
147
1
#include <stdio.h>
#include <ctype.h>
#include <stdbool.h>
#define STOP '.'
int main()
{
char c;
int n_chars = 0;
int n_lines = 0;
int n_words = 0;
bool word_flag = false;
bool line_flag = false;
printf("Enter text :\n");
while((c = getchar()) != STOP){
if(!isspace(c)){
n_chars++;
}
if(!isspace(c) && !line_flag){
n_lines++;
line_flag = true;
}
if(c == '\n'){
line_flag = false;
}
if(!isspace(c) && !word_flag){
n_words++;
word_flag = true;
}
if(isspace(c)){
word_flag = false;
}
}
printf("Charaters = %d, Words = %d, Lines = %d\n", n_chars, n_words, n_lines);
return 0;
}
강의 내용 예제 코드인데 문자로 입력해야 디버깅이 가능한 예제 코드들은 어떻게 디버깅 하는지 알 수 있을까요??
답변 1
1
안녕하세요, 답변 도우미 Soobak 입니다.
#include <stdio.h>
#include <ctype.h>
#include <stdbool.h>
#define STOP '.'
int main() {
char c;
int n_chars = 0;
int n_lines = 0;
int n_words = 0;
bool word_flag = false;
bool line flag = false;
printf("Enter text :\n");
while ((c = getchar()) != STOP) {
if (!isspace(c)) {
n_chars++;
}
if (!isspace(c) && !lineflag) {
n_lines++;
line_flag = true;
}
if (c == '\n') {
line_flag = false;
}
if (!isspace(c) && !word_flag) {
n_words++;
words_flag = true;
}
if (isspace(c)) {
word_flag = false;
}
}
printf("Characters = %d, Words = %d, Lines = %d\n", n_chars, n_words, n_lines);
return 0;
}
입력을 필요로 하지 않는 다른 코드들을 디버깅하실 때와 마찬가지로, 원하시는 지점에 중단점(Breakpoint)을 설정하시고, 디버깅을 시작하시면 됩니다.
단계별로 진행(단축키F10)을 하시다가, 입력을 필요로 하는 시점, 즉, 프로그램이 입력을 기다리는 시점에서는 Visual Studio
의 출력 창(코드 입력 창 하단 부분)에서 사용자 입력을 전달할 수 있습니다.