[ Ice-D @ 03.12.2008. 15:13 ] @
Code:
#include <stdio.h>
int main()
{
    int tab, blank, newLine;
    tab = blank = newLine = 0;
    int ch;

    while ( ch = getchar() != EOF )
    {
        switch ( ch ){
            case 9:
                tab++;
                break;
            case 32:
                blank++;
                break;
            case 10:
                newLine++;
                break;
            default:
                break;
        }
    }
    printf ( "%d %d %d\n",tab, blank, newLine );
    return 0;
}

Pozdrav! Ovaj program bi treba brojati tabove, razmake i nove redove, ali meni uvijek ispisuje 0 0 0. Kad sam ga debagirao vidijeo sam da se switch case uvijek preskače. Također za vrijeme debagiranja uđe u asembli kod ( to obično zanači nekakva logička greška ) Program se mora riješit preko getchar() metode
[ Ice-D @ 03.12.2008. 15:18 ] @
Ne trebate se "mučit" :). Riješio sam, falile su zagrade kod ( (ch = getchar()) != EOF )
[ Aleksandar Ilić @ 09.12.2008. 21:33 ] @
Jednostavnije je ovako.

Code:
#include <stdio.h>
#include <ctype.h>

int main()
{
  int ch, tab=0, space=0, nline=0;
  
  while ((ch = getchar()) != EOF)
  {
    if (ch == '\t')
      tab++;
    else
    if (ch == ' ')
      space++;
    else
    if (ch == '\n')
      nline++;
  }
  
  printf("Tab: %d\nSpace: %d\nLines: %d\n", tab, space, nline);
  return 0;
}