잘몰라서 설명부탁드립니다. scanf 관련
파라
2025.05.12
질문 제목 : 질문 내용 :
#include stdio.h
#include string.h
#define str_len 100
int strlen(char *, char);
void main()
{
char arr[str_len];
char ca;
//fputs(대상 문자열 입력 : , stdout);
//gets(arr);
//fputs(세어 볼 문자 입력 : , stdout);
//ca=getchar();
printf(대상 문자열 입력 : );
scanf(%s, arr);
printf(세어 볼 문자 입력 : );
scanf(%c, &ca);
printf(%c의 개수 : %d\n, ca, strlen(arr, ca));
return;
}
int strlen(char * krr, char ch)
{
int i, count=0;
int len=strlen(krr);
for(i=0; ilen; i++);
{
if(krr[i]==ch)
{
count++;
}
}
return count;
}빨간색 부분으로 하면 실행이 되고
파란색 부분으로 하면 두번재 scanf가입력받지를 못하는 이유좀 설명해주세요
감사합니다.
-
커피우유 2025-05-12
저도 되는지 안되는지는 잘 모릅니다. 혹시나 해서 그러는거죠.
-
팬지 2025-05-12
그렇게 하면 되나요? 안되는 이유를 좀 설명해주세요
-
루나 2025-05-12
두번째 scanf 앞에 fflush(stdin)을 넣어보세요.