c 언어 간단한 코드 질문 드립니다..

danojib의 이미지

책보고 혼자 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으로 뜨네요.. 구글링 해봐도 저랑 코드가 대부분 비슷한데..
웹 컴파일러의 문제인가요? 아님 제가 이해를 잘 못하고 있는 부분이 있나요? 부탁드립니다.!

익명 사용자의 이미지

테스트 데이터가 잘못 되었거나 테스트 데이터의 입력 방식이 잘못 되었을 것 같습니다.

탭을 스페이스로 자동 변환하도록 설정된 에디터의 문제일 수도 있고 웹 컴파일러 환경이라면 아마 다른 방식의 변환도 작용하여 그런 걸 수도 있겠네요.

프로그램 자체에는 문제가 없습니다.

danojib의 이미지

코드 자체에 이상이 없다니 다행이네요ㅎㅎ.. 감사합니다!

HDNua의 이미지

저도 군인입니다. 웹 컴파일러로 어떤 걸 쓰시나요?
전 codepad를 쓰고 있었는데 질문자 님이 쓰시는 건
프로그램 실행 중에 입력이 가능한 것처럼 보여서 한 번 써보고 싶습니다.

저는 이렇게 생각했습니다.

danojib의 이미지

너무 오랜만에 들어오네요.. 저는 ideone.com 을 이용합니다!

익명 사용자의 이미지

#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언어는 초보지만 ...
제가 해보기엔 이렇게하니 잘 나오더군요 ....

danojib의 이미지

으음..저는 이상하게 안돌아가네요...

mirheekl의 이미지

실시간 입력받게 하지 말고 아예 문자열 변수로 입력을 선언해서 넣어보세요. 잘 될걸로 생각이 됩니다. 그렇다면 웹 컴파일 환경과 관련된 외부적인 뭔가가 영향을 미친 거죠.

--

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.