<코드>
#include <stdio.h>
#include <string.h>
#define _CRT_SECURE_NO_WARNINGS
int main() {
while (1) {
int small = 0, big = 0, integer = 0, space = 0;
char arr[101] = {};
scanf("%[^\n]s", &arr);
getchar();
if (arr[0] == NULL || arr[0]==EOF) ////수정
return 0;
int len = strlen(arr);
for (int i = 0; i < len; i++) {
if (arr[i] == ' ')
space++;
else if (arr[i] <= '9')
integer++;
else if (arr[i] <= 'Z')
big++;
else if (arr[i] <= 'z')
small++;
else {}
}
printf("%d %d %d %d\n", small, big, integer, space);
}
return 0;
}
처음에 조건문에 (문자열==EOF) 이런 형식으로 넣어서 에러. (EOF는 문자형이다.)
EOF 입력 시 프로그램이 종료되는 형태였는데 종료가 안됨.
어떻게 수정을 할까.. 하다가 그냥 입력으로 NULL이 들어오지 않기 때문에 이 경우에도 종료된다고 조건을 추가해줬더니 해결됨.
'TIL > 백준' 카테고리의 다른 글
15720 : 카우버거 (함수에 매개변수로 포인터 넣기) (0) | 2025.01.04 |
---|---|
7770 : 아즈텍 피라미드 (0) | 2024.11.27 |
30501 - 문자열 복사해서 대입하기(strcpy) (0) | 2024.11.22 |
11094 - 꿍 가라사대 : 문자열에서 특정 문자열 찾기(strstr) (0) | 2024.11.19 |
4740 : 거울, 오! 거울 - 문자열끼리 비교하기(strcmp) (0) | 2024.11.17 |