В настоящее время я пытаюсь подсчитать количество символов в текстовом файле, за исключением комментариев к строке (например, // комментарий), поэтому я пытаюсь определить начало комментария (//) и использовать цикл while для чтениякомментарий, пока я не столкнусь с EOF или символом новой строки, таким образом, я знаю, что комментарий закончился.Проблема в том, что когда я использую двойной цикл while () для фильтрации строковых комментариев, это вызывает бесконечный цикл, потому что он не будет выходить из внутреннего цикла while.Вот мой кодУ кого-нибудь есть идеи относительно того, почему это происходит?Я в тупике.
int numChars = 0;
int c = 0;
int prevc = 0;
while ((c = getchar()) != EOF) {
if (c == '/' && prevc == c) {
while (c != '\n' || c != EOF) {
c = getchar();
}
}
numChars++;
prevc = c;
}
Например, если текстовый файл должен содержать // Hello, он должен вывести 0 символов, а если текстовый файл содержит Hello, он должен вывести 5 символов.