Δημοσιεύτηκε: 16 Ιουν 2011, 21:30
από stamatiou
vasster έγραψε:Δεν βγάζει λάθος σαν πρόγραμμα, αλλά η λογική μέτρησης που έγραψες έχει πρόβλημα.

Σημαντικότερο είναι το αν βρήκες τα σηματικότερα λάθη σου που ήταν π.χ. το ότι καλούσες συνεχώς την getchar ή ότι δεν σύγκρινες με το == ή το τι διαφέρει το " από το '

Απλά προσπαθούσα να βρωτρόπο να βρω το ένα bug σε αυτόν το κώδικα από το βιβλιο "The C Programming Language" και απλά προσπάθησα να το ξαναγράψω πιο απλά...
Κώδικας: Επιλογή όλων
#include <stdio.h>

#define IN 1
#define OUT 0

main()
{
int c,nl,nw,nc,state;

state = OUT;
nl = nw = nc = 0;
while ((c = getchar()) != EOF) {
++nc;
if (c == '\n')
++nl
if (c == ' ' || c = '\n' || c = '\t')
state = OUT;
else if (state == OUT) {
state = IN;
++nw;
}
printf("%d %d %d\n", nl, nw, nc);
}

αλλά δεν καταλαβαίνω αυτά τα state και τα IN και OUT....