c - 函数中的结构
问题描述
我是结构的新手,我的任务是首先制作一个包含 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);
}
解决方案
就这么简单:
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
字段。只有你知道答案。
推荐阅读
- c++ - 在编译时生成函数指针
- php - 从包含关联数组 PHP 的文件中读取值
- java - 如何将 ArrayList 数据从数据库绑定到 JTable 中的 JComboBox?
- c - 无法使用 OpenMP 为具有两个分支的递归函数设置固定数量的线程
- php - 每次我刷新我的页面 php 添加记录到数据库
- python - 在 django 中访问超类方法
- ssl - How do I configure certbot certificates on Tomcat for HTTPS?
- python - discord.py 防止删除包含 #start 的消息
- mongodb - 处理不存在的嵌入文档的展开
- reactjs - 道具更改时子组件不会重新渲染