Будет ли приведенная программа сохранять данные в структуре? - C (СИ)

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

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

Если я запущу программу и внесу какие-либо изменения в структуру (например, DATA[0].year=1769), то при следующем запуске в программе сохранится мое изменение (т.е. DATA[0].year будет по-прежнему равна 1769) или все снесется? Массивы структур пытаюсь передать в функцию при помощи указателей. В функции изменяю элементы структур. Но программа их не запоминает (или, возможно, переписывает их заново). Может быть, дело в том, что функция не возвращает изменения структур обратно? В чем именно моя ошибка? Как заставить структуру запоминать значения, внесенные в функции? Структуры
struct data
{------};
struct cars
{------};
Кусок функции
void registration(struct data *DATA,struct cars *CARS,int N) // регистрация (0)
{
    int i=0, p=0;
    while((p==0)&&(i!=N))
    {
        .......
        printf("\nYEAR");
        printf("\n>:");
        scanf("%d",&(*DATA).year);
        ........
        printf("\nbrand of car");
        printf("\n>:");
        scanf("%s",&(*CARS).brand);
       ........
         i++;
    }
}
Кусь от main'а
int main()
{
    int N=20;
    struct data DATA[N];
    struct cars CARS[N];
registration(DATA,CARS,N);
}

Решение задачи: «Будет ли приведенная программа сохранять данные в структуре?»

textual
Листинг программы
scanf("%d",&(*DATA).year);

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

В данном коде происходит следующее:

  1. Вводится переменная DATA типа указатель на структуру.
  2. Происходит попытка чтения значения года из стандартного ввода с помощью функции scanf.
  3. Введенное значение сохраняется в поле year структуры, на которую указывает переменная DATA.

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


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

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

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