У меня есть код, который считает количество символов.Он использует getchar () и во время выполнения я использую (./a.out
Когда я использую условие,
while((c = getchar()) != EOF && c != '\n')
вместо
while((c = getchar()) != EOF)
в функции, где c - это int, определенный в main, счетчик верен.
int main()
{
long nc=0; int c;
while((c = getchar()) != EOF)
{
putchar(c);
++nc;
}
printf("%ld", nc);
}
Я думаю, что проблема связана с символом '\ n'.Когда я использую putchar (c), как показано выше, допустим, что в моем файле test.txt 9 символов.Теперь он должен напечатать все символы в файле, а затем 9 в качестве вывода.Но вместо этого выводится 10.Кроме того, командная строка переходит на следующую строку после отображения символов, что является причиной печати 10, поскольку она считается символом '\ n'.Но откуда взялась эта буква '\ n'?