Code:
# include <stdio.h>

main()

{
	int c, n1;
        n1 = 0;
        while (( c = getchar()) != EOF)
              if ( c == '\n')
                       ++n1;
        printf("%d\n", n1);
}
** it returns**
% gcc while.c -o while
% while
%while: too few arguments.

however when i do this:

% gcc while.c
% a.out

the programs runs why?