Структура, ошибка "assignment to expression with array type" - C (СИ)
Формулировка задачи:
Всем доброго времени суток!Я хотел бы у вас узнать в чем заключается проблема:
У меня выдает ошибку при инициализации переменной jan:
main.c: In function 'main':
main.c:26:12: error: assignment to expression with array type
Так как я новичок,я не совсем понимаю как можно решить данную проблему самостоятельно.Надеюсь на ваше понимание и помощь. Заранее благодарен!
Выдает ошибку:
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
Листинг программы
- 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";
- }
И у меня выдает ошибку,даже тогда,когда я использую:
Листинг программы
- include
... strcopy(month.jan,"January");
Я почти разобрался проблемой(надо было 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);
- }
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с файлами, строками и структурой.
- Объявление структуры
year
с 12-ю полями, представляющими месяцы года. - Создание экземпляра структуры
month
в функции main(). - Использование функции strcpy() для копирования строки
January
в полеjan
структурыmonth
. - Вывод содержимого поля
jan
на экран с помощью функции printf().
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д