Assignment from incompatible pointer type - C (СИ) (74727)
Формулировка задачи:
assignment from incompatible pointer type
#include <stdio.h> #include <stdlib.h> #include<string.h> typedef struct{ char *fname; char *sname; char *ukrlit; char *ukrlan; char *math; char *englan; struct school *next; }school; school *create(char *fname,char *sname,char *ukrlit,char *ukrlan,char *math,char *englan) { school *i=malloc(sizeof(school)); i->fname=strdup(fname); i->sname=strdup(sname); i->ukrlit=strdup(ukrlit); i->ukrlan=strdup(ukrlan); i->math=strdup(math); i->englan=strdup(englan); i->next=NULL; return i; } int main() { char fname[80]; char sname[80]; char ukrlit[30]; char ukrlan[30]; char math[30]; char englan[30]; school *a=NULL; school *b=NULL; for(;fgets(fname,80,stdin)!=NULL;){ printf("Введіть прізвище\n"); fgets(sname,80,stdin); printf("Введіть оцінку з української літератури\n"); fgets(ukrlit,30,stdin); printf("Введіть оцінку з української мови\n"); fgets(ukrlan,30,stdin); printf("Введіть оцінку з математики\n"); fgets(math,30,stdin); printf("Введіть оцінку з англійської мови\n"); fgets(englan,30,stdin); a=create(fname,sname,ukrlit,ukrlan,math,englan); if(b==NULL) b=a; else b->next=a; b=a; } }
Решение задачи: «Assignment from incompatible pointer type»
textual
Листинг программы
typedef struct school { char *fname; char *sname; char *ukrlit; char *ukrlan; char *math; char *englan; struct school *next; }
Объяснение кода листинга программы
- Создается структура данных
school
с полями:- fname (тип char*)
- sname (тип char*)
- ukrlit (тип char*)
- ukrlan (тип char*)
- math (тип char*)
- englan (тип char*)
- next (тип struct school*)
- В структуре
school
используется указательnext
для хранения ссылки на следующий элемент в списке. - В данном коде не приводится пример использования данной структуры, поэтому нельзя точно сказать, что делает программа.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д