Объясните способ решения задачи (таблицы) - C (СИ)
Формулировка задачи:
В файле PROG содержится текст программы на языке Си. Файл разделен на
строки произвольной длины ( но не более 256 ). Используя определения и
описания, построить таблицу констант. Элемент таблицы содержит: значение константы, имя
константы, тип константы, размер памяти. Организовать таблицу как неупорядоченную
Вопрос в следующем, как искать эти константы?
Как я понимаю если строка начинается со слова const, то далее следует константа.
Тоесть
как считать эти константы и записать соответствующие значения в соответствующие переменные type, size, value, name?
и как узнать размер, который занимает константа?
какой-то код const int a = 5; какой-то код const int c = 7; какой-то код
Решение задачи: «Объясните способ решения задачи (таблицы)»
textual
Листинг программы
while (fscanf(fp, "%s", &s)!=EOF){ if (!strcmp(s, "const")){ fscanf(fp, "%s", &type); fscanf(fp, "%s", &name); fscanf(fp, "%s", &no); fscanf(fp, "%s", &value); } }
Объяснение кода листинга программы
- В цикле while происходит чтение из файла fp до тех пор, пока не будет достигнут конец файла (EOF).
- Каждый раз, когда выполняется чтение, в переменную s записывается строка.
- Если s содержит
const
, то выполняется блок кода внутри if. - В этом блоке кода выполняется чтение из файла fp в переменные type, name и no.
- Значение переменной value считывается в следующем чтении.
- Если s не содержит
const
, то выполняется следующее чтение из файла. - Чтение из файла fp продолжается до тех пор, пока не будет достигнут конец файла (EOF).
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д