Структура, ошибка "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().
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д