The title pretty much says it all, so here's the code:
#include <stdio.h>
/* Program counts blanks, tabs, and newlines */
int main(void)
{
int c;
int b, t, nl;
b = 0;
t = 0;
nl = 0;
while ((c = getchar()) != EOF)
if (c == ' ')
++b;
if (c == '\t')
++t;
if (c == '\n')
++nl;
printf("Input has %d blanks, %d tabs, and %d newlines\n", b, t, nl);
return 0;
}
I don't understand why this doesn't work. It counts the blanks no problem, but then when it comes to the rest their values always get printed as 0.
More than a "here's how it should be" answer, I'd really like a "it doesn't work because... you need to do this because..." answer please. I'm trying to grasp the concepts and actually understand the language more than just know what works and what doesn't.
Thanks! You guys have been already helped tons :).