입력된 문자의 총 갯수를 구하는 프로그램인데 getchar를 쓸때는 EOF가 먹히는데 scanf로 하면 EOF가 안먹음-__;scanf는 포맷형식을 따라간다고 알고있고 난 가장 기본적으로 해놨음 버퍼를 비워줘도 냠냠 거리면서 무시하네ㅠㅠ
참고로 리눅스 환경에서 하는중이고 아래는 소스
#include <stdio.h>
int main()
{
char sub;
int num=0;
do
{
scanf("%c", &sub);
//if(getchar()!=EOF)
// sub=getchar();
if(sub!=EOF)
{
num++;
}
else
{
break;
}
getchar();
}while(1);
printf("입력된 문자의수:%d", num);
return 0;
}
~
참고로 리눅스 환경에서 하는중이고 아래는 소스
#include <stdio.h>
int main()
{
char sub;
int num=0;
do
{
scanf("%c", &sub);
//if(getchar()!=EOF)
// sub=getchar();
if(sub!=EOF)
{
num++;
}
else
{
break;
}
getchar();
}while(1);
printf("입력된 문자의수:%d", num);
return 0;
}
~
scanf 함수는 EOF값이 들어오면 EOF값을 반환 원형 int scanf(chat* str,[....]); 성공시 0을리턴 끝을 만날경우 EOF리턴 sub=scnaf(\"%c\"~); if(sub==EOF) break;
그러지말고 #include <stlib.h> 선언하고 마지막에 strlen() 함수 쓰면 문자열의 길이(혹은 개수) 구할 수 있을 텐덱