c 언어 간단한 코드 질문 드립니다..
글쓴이: danojib / 작성시간: 일, 2014/02/23 - 4:59오후
책보고 혼자 c 책을 보며 군대 내 사지방에서 웹 컴파일러로 공부하는데 막히는게 있어서 질문드립니다. 질문 드릴곳이 여기밖에 없을 것 같아서 자주 올릴 것 같아요. 좀 봐주세요ㅠㅠ
#include
int main(void) {
int blanks, tabs, nl = 0;
int c;
while((c = getchar()) != EOF){
if(c == ' '){
++blanks;
}
if(c == '\t'){
++tabs;
}
if(c == '\n'){
++nl;
}
}
printf("The number of blanks, tabs, and new liens are %d, %d, and %d, respectively.\n", blanks, tabs, nl);
return 0;
}
인풋이 들어오면 빈칸, 텝, 뉴라인의 갯수를 세는 프로그램인데 빈 칸은 잘 세지는데 나머지는 계속 0으로 뜨네요.. 구글링 해봐도 저랑 코드가 대부분 비슷한데..
웹 컴파일러의 문제인가요? 아님 제가 이해를 잘 못하고 있는 부분이 있나요? 부탁드립니다.!
Forums:
테스트 데이터가 잘못 되었거나 테스트 데이터의 입력
테스트 데이터가 잘못 되었거나 테스트 데이터의 입력 방식이 잘못 되었을 것 같습니다.
탭을 스페이스로 자동 변환하도록 설정된 에디터의 문제일 수도 있고 웹 컴파일러 환경이라면 아마 다른 방식의 변환도 작용하여 그런 걸 수도 있겠네요.
프로그램 자체에는 문제가 없습니다.
코드 자체에 이상이 없다니 다행이네요ㅎㅎ..
코드 자체에 이상이 없다니 다행이네요ㅎㅎ.. 감사합니다!
답변은 아니고 질문인데,
저도 군인입니다. 웹 컴파일러로 어떤 걸 쓰시나요?
전 codepad를 쓰고 있었는데 질문자 님이 쓰시는 건
프로그램 실행 중에 입력이 가능한 것처럼 보여서 한 번 써보고 싶습니다.
저는 이렇게 생각했습니다.
너무 오랜만에 들어오네요.. 저는 ideone.com
너무 오랜만에 들어오네요.. 저는 ideone.com 을 이용합니다!
#include int
#include
int main(void)
{
int blanks=0;
int tabs=0;
int nl=0;
int c;
while((c=getchar()) !='p')
{
if(c==' ')
{
++blanks;
}
if(c=='\t')
{
++tabs;
}
if(c=='\n')
{
++nl;
}
}
printf("The number of blanks, tabs, and new lines are %d, %d, and %d \n", blanks, tabs, nl);
return 0;
}
저도 C언어는 초보지만 ...
제가 해보기엔 이렇게하니 잘 나오더군요 ....
으음..저는 이상하게 안돌아가네요...
으음..저는 이상하게 안돌아가네요...
의심되시면.
실시간 입력받게 하지 말고 아예 문자열 변수로 입력을 선언해서 넣어보세요. 잘 될걸로 생각이 됩니다. 그렇다면 웹 컴파일 환경과 관련된 외부적인 뭔가가 영향을 미친 거죠.
--
댓글 달기