首页 > 解决方案 > 函数中的结构

问题描述

我是结构的新手,我的任务是首先制作一个包含 x 和 y(DONE)的结构“Points”,然后制作一个函数printPoint()来打印 main(DONE)中的点,然后我必须制作一个Point createPoint(double x, double y)函数创建一个 Point 类型的结构,用坐标填充它并返回它,所以 main 中的 p1 和 p2 变量将使用createPoint(),我该怎么做呢?

#include <stdio.h>
#include <stdlib.h>

typedef struct Point {
    int x;
    int y;
} Point;

void printPoint(Point p1, Point p2) {
    printf("%d %d\n%d %d", p1.x, p1.y, p2.x, p2.y);
}

Point createPoint(double x, double y) {
    ?
}

int main()
{
    Point p1 = {2.0, -3.0};
    Point p2 = {-4.0, 5.0};
    printPoint(p1, p2);
}

标签: c

解决方案


就这么简单:

Point createPoint(double x, double y) {
  Point point = {x, y};
  return point;
}
...
printPoint(createPoint(1,2), createPoint(3,4));
... 

double应该是在int这里。或者也许struct Point应该包含double字段而不是int字段。只有你知道答案。


推荐阅读