Ошибка компилятора - C (СИ)

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

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

Код:
#include <stdio.h>
 
 typedef struct {int x; int y ;} Node;
 
 Node val ( int a, int b) {
  Node c;
   c.x = a;
   c.y = b;
 return c;
}
 
Node func (int a, int b, Node*d)
{
   d->x = a;
   d->y = b;
}
  int main() {
   Node a ={5, 10};
   Node* b = &a;
   a= val(2,4);
   func(1,5,&a);
   printf("%d , %d",b->x,b->y);
   printf("%d , %d\n",a.x,a.y);
   prin
}
Выдает ошибку компилятор: noname.c: In function ‘main’: noname.c:22:13: error: incompatible types when initializing type ‘Node * {aka struct <anonymous> *}’ using type ‘Node {aka struct <anonymous>}’ Node *c= func(1,5,&a);

Решение задачи: «Ошибка компилятора»

textual
Листинг программы
Node a = {x. = 5, .y = 10};

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

В данном коде происходит создание объекта типа Node с помощью фигурных скобок. Объект инициализируется двумя полями: x и y. Значения полей указываются после двоеточия. Вот список элементов кода с их номерами:

  1. Node a - создание объекта типа Node с помощью фигурных скобок.
  2. .x = 5 - присвоение значению поля x объекта значение 5.
  3. .y = 10 - присвоение значению поля y объекта значение 10. Код не содержит циклов, функций или других операторов.

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

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