如何补全C语言中调用指定addPoint函数实现两点相加的作业代码
代码修改说明
- 首先修正
scanf参数错误:C语言scanf函数需要传入待写入变量的内存地址才能正常存储输入值,原有代码未加取地址符&,会导致运行异常。 - 补全计算输出逻辑:新增变量存储
addPoint函数的返回值,再调用printPoint输出结果即可,完全符合题目要求不修改给定addPoint函数的规则。
补全后的完整可运行代码
#include <stdio.h> #include <stdlib.h> typedef struct { int x,y; }point; void printPoint( point p ) { printf("(%d,%d)",p.x,p.y); } point addPoint( point p1, point p2 ) { point pResult; pResult.x = p1.x + p2.x ; pResult.y = p1.y + p2.y ; return pResult; } int main() { point p1,p2, res; printf("Enter first point: "); scanf("%d,%d", &p1.x, &p1.y); printf("Enter second point: "); scanf("%d,%d", &p2.x, &p2.y); res = addPoint(p1, p2); printf("相加结果:"); printPoint(res); return 0; }
注意事项
输入坐标时需要按照x,y的格式输入,两个数字之间用英文逗号分隔,不要加空格,否则scanf会读取失败。
内容的提问来源于stack exchange,提问作者WWoPPoWW
相关产品推荐
相关产品推荐

