Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   [решено] Подсчет количества строк в Си (http://forum.oszone.net/showthread.php?t=197613)

dionis12006 25-01-2011 13:50 1596851

Подсчет количества строк в Си
 
Есть код:
Код:

#include <stdio.h>
#include <stdlib.h>
#define no 0
#define yes 1

int main()
{

  int c,line,word,kc,inword=0;
  line=word=kc=0;
  while((c=getchar())!=EOF)
      {
      kc=kc+1;
      if(c=='\n') line=line+1;
      if(c==' ' || c=='\n' || c=='\t')
      inword=0;
        else
              if(!inword)
                {
                  inword=1;
                  word=word+1;
                }
      }

  printf("\n");
  printf("строк - %d\n",line);
  printf("символов - %d\n",kc);

}

Он должен вывести количество введенных строк, при запуске в Code Blocks, после набора нескольких слов и нажатия Enter, он просто переходит на новую строку, а не показывает количество строк. Код из книги Керниган, Ричи "Язык Си"Кто может подсказать, где мой косяк?

Beyound 25-01-2011 17:57 1597058

наверное суть в том что энтер не является признаком конца файла, т.е. энтер - это 2-а символа - 13 и 10, не имеющих никакого отношения к EOF; EOF я точно непомню, но с клавы его можно ввести магическим сочитанием с участием cntl (cntl+z попробуй). Вроде EOF - 26 символ.

dionis12006 27-01-2011 15:57 1598456

Точно(Ctr + Z), Спасибо!!!


Время: 00:53.

Время: 00:53.
© OSzone.net 2001-