知识点补充:
1,struct 数据结构体,成员是全局
struct CPLX //数据结构体,成员是全局 ;按格式输入一个复数,存入cx所指的内存中。
{
int a;
int b;
};
2,->用法: 在C语言中称为间接引用运算符,是二目运算符,优先级同成员运算符“.”
p->a,其中p是指向一个结构体的指针,a是这个结构体类型的一个成员。表达式p->a引用了指 针p指向的结构体的成员a
(*p).a,和p->a完全等效
. 输入:
void get_cplx(struct CPLX *cx) //->在C语言中称为间接引用运算符
{
scanf("%d %d",&cx->a,&cx->b);
}
&cx相当于函数,且&cx也必须声明struct,且定义有*
输出:
void put_cplx(struct CPLX cx)
{
printf("%d %d\n",cx.a,cx.b);
}
#include <stdio.h> struct CPLX //数据结构体,成员是全局 { int a; int b; }; void get_cplx(struct CPLX *cx) //->在C语言中称为间接引用运算符 { scanf("%d %d",&cx->a,&cx->b); } void put_cplx(struct CPLX cx) { printf("%d %d\n",cx.a,cx.b); } struct CPLX add_cplx(struct CPLX cx1, struct CPLX cx2) { struct CPLX cx; cx.a=cx1.a+cx2.a; //因为两次都是输入a,b;相加时候得以区分 cx.b=cx1.b+cx2.b; return cx; }; struct CPLX sub_cplx(struct CPLX cx1, struct CPLX cx2) { struct CPLX cx; cx.a=cx1.a-cx2.a; cx.b=cx1.b-cx2.b; return cx; }; int main() { struct CPLX ab, cd; int cases; scanf("%d", &cases); while(cases--) { get_cplx(&ab); get_cplx(&cd); put_cplx( add_cplx(ab, cd) ); put_cplx( sub_cplx(ab, cd) ); } return 0; }