Any way NOT to display the input of getchar() TWICE?
Any way NOT to display the input of getchar() TWICE?
Goal: a program that takes a char as input and outputs which char has been inputted and the humber of line(s). The below code makes the program output the inputted char twice: once - I assume - as a result of how getchar() works and once as a result of printf(). Is there any way to do this more elegantly, as in, not displaying the inputted char twice? If possible, keep to while, without suggesting for.
PS: the repetition of getchar() is just my ugly way of removing the trailing '\n'.
#include <stdio.h>
int main(void)
{
int c, nl;
c = 0;
nl = 0;
while ((c = getchar()) != EOF) {
getchar();
printf("%c, %d\n", c, nl);
++nl;
}
}