Ошибка Expected Expression - C (СИ)
Формулировка задачи:
Помогите, пожалуйста, новичку найти ошибку
Решение задачи: «Ошибка Expected Expression»
textual
Листинг программы
int file()
{
FILE *FILE, *fp;
int numFiles=0;
int numLines=0;
char input_f[100];
char c;
fp=fopen("/Users/..../Desktop/test.txt","w+");
++numFiles; //считаем кол-во файлов
printf("Укажите путь к файлу в формате /Users/<Имя компьютера>/Desktop/..\n"); //путь к файлу через консоль
scanf("%s", input_f);
FILE = fopen(input_f, "r");
if (FILE == NULL){ //проверка
printf("Файл не найден \n");
}
else{
printf("Файл найден!\n");
}
while ((c = fgetc(FILE)) != EOF) { // Читаем символ
if (c == '\n') { // Подсчитываем число символов перевода строки
++numLines; // Увеличиваем число строк
}
}
fprintf(fp,“%d”, numLines);
fclose(fp);
main();
return 0;
}
Объяснение кода листинга программы
- Объявлены две переменные типа FILE и fp, которые будут использоваться для работы с файлами.
- Переменная numFiles увеличивается на единицу, так как создается новый файл.
- Выводится сообщение с просьбой указать путь к файлу.
- Путь к файлу считывается в массив input_f при помощи функции scanf.
- Функция fopen открывает файл с указанным путем для чтения.
- Если файл не может быть открыт, выводится сообщение об ошибке.
- В противном случае выводится сообщение о том, что файл успешно открыт.
- Используя цикл while и функцию fgetc, происходит чтение символов из файла.
- Если считанный символ является символом новой строки (\n), увеличивается счетчик numLines.
- Число строк записывается в файл, который был открыт в начале функции при помощи функции fprintf.
- Функция fclose закрывает файл.
- Вызывается функция main, что позволяет запускать данную функцию в качестве независимой функции.
- Возвращается ноль, что означает успешное выполнение программы.
- Компилятор выдает ошибку
Expected Expressionиз-за некорректного использования функции scanf для считывания строки. - Компилятор выдает ошибку
Use of undeclared identifierиз-за неинициализированной переменной c. - Компилятор выдает ошибку
Control may reach end of non-void functionиз-за того, что функция main вызывается в конце программы, но не возвращает значение. - Компилятор выдает ошибку
Too many argumentsиз-за неправильного использования функции fprintf. - Компилятор выдает ошибку
Format string is not a valid format specificationиз-за неправильного форматирования вывода в функции fprintf. - Компилятор выдает ошибку
Invalid conversion between pointer and integerиз-за попытки присвоить значение типа int переменной типа FILE. - Компилятор выдает ошибку
Unused parameterиз-за того, что функция main вызывается без аргументов, но в ее объявлении есть необязательные параметры.