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, он просто переходит на новую строку, а не показывает количество строк. Код из книги Керниган, Ричи "Язык Си"Кто может подсказать, где мой косяк?
|
наверное суть в том что энтер не является признаком конца файла, т.е. энтер - это 2-а символа - 13 и 10, не имеющих никакого отношения к EOF; EOF я точно непомню, но с клавы его можно ввести магическим сочитанием с участием cntl (cntl+z попробуй). Вроде EOF - 26 символ.
|
dionis12006 |
27-01-2011 15:57 1598456 |
Точно(Ctr + Z), Спасибо!!!
|
Время: 00:53.
© OSzone.net 2001-