Структура - найти ошибки в коде - C (СИ) (76110)

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

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

Не работает программа, скажите почему и как исправить. Нормально разобраться не могу как и что работает.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <windows.h>
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
 
struct house
    {
        char name[20];
        int number;
    } *flat;
 
    struct house *temp;
 
    flat = (struct house*)malloc(sizeof(flat));
    strcpy(flat->name,"Aleks");
    flat->number=22222;
    printf("%d - %s\n", flat->number, flat->name);

    getchar();
    return 1;
}

Решение задачи: «Структура - найти ошибки в коде»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
 
typedef struct {
    char name[20];
    int number;
} house;
 
int main() {
 
    house* temp;
 
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
 
    temp = (house*) malloc(sizeof(house));
    strcpy(temp->name, "Aleks");
    temp->number=22222;
    printf("%d - %s\n", temp->number, temp->name);
    free(temp);
 
    getchar();
    return 0;
}

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

  1. Подключение необходимых библиотек: stdio.h, stdlib.h, windows.h
  2. Объявление структуры house, которая содержит два поля: name (строка, ограничиваемая 20 символами) и number (целое число)
  3. Создание указателя temp типа house* для выделения памяти под один элемент структуры house
  4. Выделение памяти под структуру house с помощью функции malloc
  5. Копирование строки Aleks в поле name структуры house с помощью функции strcpy
  6. Присваивание полю number значение 22222
  7. Вывод на экран значения поля number и поля name с помощью функции printf
  8. Освобождение памяти с помощью функции free
  9. Ожидание нажатия клавиши с помощью функции getchar
  10. Возврат 0, что означает успешный конец работы программы

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


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

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

12   голосов , оценка 4.167 из 5