我是结构的新手,我的任务是首先创建一个包含x和y的结构“点”(DONE),然后创建一个函数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);
}
答案 0 :(得分:2)
就这么简单:
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
字段。只有你知道答案。