Объясните способ решения задачи (таблицы) - C (СИ)

Узнай цену своей работы

Формулировка задачи:

В файле PROG содержится текст программы на языке Си. Файл разделен на строки произвольной длины ( но не более 256 ). Используя определения и описания, построить таблицу констант. Элемент таблицы содержит: значение константы, имя константы, тип константы, размер памяти. Организовать таблицу как неупорядоченную Вопрос в следующем, как искать эти константы? Как я понимаю если строка начинается со слова const, то далее следует константа. Тоесть
какой-то код
 
const int a = 5;
 
какой-то код
 
const int c = 7;
 
какой-то код
как считать эти константы и записать соответствующие значения в соответствующие переменные type, size, value, name? и как узнать размер, который занимает константа?

Решение задачи: «Объясните способ решения задачи (таблицы)»

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);
        }
    }

Объяснение кода листинга программы

  1. В цикле while происходит чтение из файла fp до тех пор, пока не будет достигнут конец файла (EOF).
  2. Каждый раз, когда выполняется чтение, в переменную s записывается строка.
  3. Если s содержит const, то выполняется блок кода внутри if.
  4. В этом блоке кода выполняется чтение из файла fp в переменные type, name и no.
  5. Значение переменной value считывается в следующем чтении.
  6. Если s не содержит const, то выполняется следующее чтение из файла.
  7. Чтение из файла fp продолжается до тех пор, пока не будет достигнут конец файла (EOF).

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 3.429 из 5
Похожие ответы