为什么我的代码会给出编译时错误?

Gau*_*don -1 c compiler-errors

我试图得到这个问题,但无法理解为什么它给出编译时错误我的代码是:

#include<stdio.h>
static struct student
{
    int a;
    int b;
    int c;
    int d;
}s1={6,7,8,9},s2={4,3,2,1},s3;
void main()
{
    s3=s1+s2;
    clrscr();
    printf("%d %d %d %d",s3.a,s3.b,s3.c,s3.d);
    getch();
}
Run Code Online (Sandbox Code Playgroud)

Sad*_*que 5

你不能这样做s3=s1+s2;- 只有当+你的struct 的运算符超载时才能这样做.C中不支持运算符重载.这就是您所需要的:

s3.a=s1.a+s2.a;
s3.b=s1.b+s2.b;
....
Run Code Online (Sandbox Code Playgroud)

结构如何工作.


Nig*_*ker 5

您必须手动添加每个成员.

s3.a = s1.a + s2.a;
Run Code Online (Sandbox Code Playgroud)

等等...