Структура, ошибка "assignment to expression with array type" - C (СИ)

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

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

Всем доброго времени суток!Я хотел бы у вас узнать в чем заключается проблема:
struct year {
    char jan[6];// Январь
    char feb[7];// Февраль
    char mar[4];// Март
    char apr[6];// Апрель
    char may[3];// Май
    char jun[4];// Июнь
    char jul[4];// Июль
    char aug[6];// Август
    char sep[8];//Сентябрь
    char oct[7];//Октябрь
    char nov[6];//Ноябрь
    char dec[7];//Декабрь
};
 
main()
{
     struct year month;
     month.jan = "January";
}
У меня выдает ошибку при инициализации переменной jan: main.c: In function 'main': main.c:26:12: error: assignment to expression with array type Так как я новичок,я не совсем понимаю как можно решить данную проблему самостоятельно.Надеюсь на ваше понимание и помощь. Заранее благодарен!
И у меня выдает ошибку,даже тогда,когда я использую:
include
...
strcopy(month.jan,"January");
Выдает ошибку: C:\Users\7349~1\AppData\Local\Temp\cculMbo1.o:main.c.text+0x32): undefined reference to `strcopy' collect2.exe: error: ld returned 1 exit status
Я почти разобрался проблемой(надо было strcpy) и сразу же появилась другая : когда я вывожу через printf("%c",month.jan), выводится символ "ф".Как исправить данную проблему?

Решение задачи: «Структура, ошибка "assignment to expression with array type"»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#include <string.h>
 
struct year {
    char jan[10];// Январь
    char feb[10];// Февраль
    char mar[10];// Март
    char apr[10];// Апрель
    char may[10];// Май
    char jun[10];// Июнь
    char jul[10];// Июль
    char aug[10];// Август
    char sep[10];//Сентябрь
    char oct[10];//Октябрь
    char nov[10];//Ноябрь
    char dec[10];//Декабрь
};
int main()
{
    struct year month;
    strcpy(month.jan,"January");//для хранения нужно 8 char как минимум
    printf("%s",month.jan);
}

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

  1. Подключение необходимых библиотек для работы с файлами, строками и структурой.
  2. Объявление структуры year с 12-ю полями, представляющими месяцы года.
  3. Создание экземпляра структуры month в функции main().
  4. Использование функции strcpy() для копирования строки January в поле jan структуры month.
  5. Вывод содержимого поля jan на экран с помощью функции printf().

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


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

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

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