Вот простая программа, считающая строки, символы и слова.
С вычислениями все в порядке, использую Cygwin.
Но при запуске, после ввода значений, программа не печатает nc
, nw
, nl
и ждет ввода дальнейших значений.
Изменение EOF
на 13 (Enter) все равно не помогает.
ctrl+Z тоже полезен: программа останавливается, пишет [n]+ Stopped
, где n всегда другое число.
Код
#include <stdio.h>
#define IN 1
#define OUT 0
int main () {
char c;
int state;
int nc, nw, nl;
state = OUT;
while ((c=getchar()) != EOF) {
nc++;
if (c == 'n')
nw++;
if (c == '\n' || c == ' ' || c == '\t')
state = OUT;
else if (state = OUT){
state = IN;
nw++;
}
}
printf ("%d %d %d", nc, nl, nw);
}
nl
! - person Spikatrix   schedule 04.10.2014int c;
- person M.M   schedule 04.10.2014