这个地方引用中括号为什么会报错、


#include<stdio.h>
#include<time.h>
#include<stdlib.h>
struct Apple
{
    int attribute=0;
    int flag=1;
};
int random()
{
    int num;
    srand((unsigned)time(NULL));
    num=rand()%12;
    return num;
}
void create_apple(struct Apple app1)
{
    if(random()%2==1)
        app1[random()].attribute=1;
    else
        app1[random()].attribute=-1;
    printf("苹果的标号为1-12");
    for(int i=1;i<=12;i++)
        printf("%d  ",i);
    printf("\n");
    printf("这12个苹果的属性分别为\n");
    for(int i=1;i<=12;i++)
        printf("%d  ",app1[i].attribute);
    printf("属性为0则说明苹果正常\n属性为-1则说明毒苹果较轻\n属性为1则说明毒苹果较重\n");

}
void set_apple(struct Apple app1)
{
    int potion1,potion2,potion3;
    int heap1=app1[9].attritute+app1[10].attritute+app1[11].attritute+app1[1].attritute;
    int heap2=app1[2].attritute+app1[3].attritute+app1[5].attritute+app1[6].attritute;
    for(int i=1;i<=4;i++)
        potion1+=app1[i].attritute;
    for(int i=5;i<=8;i++)
        potion2+=app1[i].attritute;
    for(int i=9;i<=12;i++)
        potion3+=app1[i].attritute;
    if(potion1==potion2)
       { printf("毒苹果在9,10,11,12中");
        if(app1[9].attritute==app1[10].attritute)
           {
            printf("毒苹果在9,10中");
          if (apple[11].state == apple[1].state)
                apple[12].flag = 0;
            else
                apple[11].flag = 0;}
        else {
            if (apple[9].state == apple[1].state)
                apple[10].flag = 0;
            else
                apple[9].flag = 0;
        }
    }
    if (potion1>potion2)
    {
        if (heap1== heap2)
        {
            if (app1[7].attritute==app1[8].attritute)
                app1[4].flag=0;
            else {
                if (app1[7].attritute<app1[8].attritute)
                    app1[7].flag=0;
                else
                    app1[8].flag=0;
            }
        }
        if (heap1>heap2)
        {
            if (app1[5].attritute==app1[6].attritute)
                app1[1].flag=0;
            else
            {

                if (app1[5].attritute<app1[6].attritute)
                    app1[5].flag=0;
                else
                    app1[6].flag=0;
            }
        }
        if (heap1<heap2)
        {
            if (app1[2].attritute>app1[3].attritute)
                app1[2].flag=0;
            else
                app1[3].flag=0;
        }
    }
     if (potion1<potion2)
    {
        if (heap1== heap2)
        {
            if (app1[7].attritute==app1[8].attritute)
                app1[4].flag=0;
            else {
                if (app1[7].attritute>app1[8].attritute)
                    app1[7].flag=0;
                else
                    app1[8].flag=0;
            }
        }
        if (heap1>heap2)
        {
            if (app1[2].attritute==app1[9].attritute)
                app1[3].flag=0;
            else
                app1[2].flag=0;

        }
        if (heap1<heap2)
        {
            if (app1[5].attritute=app1[6].attritute)
                app1[1].flag=0;
            else
                 if(app1[5].attritute==app1[9].attritute)
                    app1[6].flag=0;
                 else
                    app1[5].flag=0;
        }
    }
}int main()
{
    int i=1;
    struct Apple app1[20];
    random();
    create_apple(app1);
    set_apple(app1);
    while(app1[i].flag==0)
    {
        i++;
    }
    printf("有毒的是第%d个苹果",i);
}

#include<stdio.h>
#include<time.h>
#include<stdlib.h>
typedef struct Apple
{
    int attribute;//这里不能赋初始值
    int flag;
}Apple;
int random()
{
    int num;
    srand((unsigned)time(NULL));
    num=rand()%12;
    return num;
}
void create_apple(struct Apple*app1)
{
    if(random()%2==1)
        app1[random()].attribute=1;
    else
        app1[random()].attribute=-1;
    printf("苹果的标号为1-12");
    for(int i=1;i<=12;i++)
        printf("%d  ",i);
    printf("\n");
    printf("这12个苹果的属性分别为\n");
    for(int i=1;i<=12;i++)
        printf("%d  ",app1[i].attribute);
    printf("属性为0则说明苹果正常\n属性为-1则说明毒苹果较轻\n属性为1则说明毒苹果较重\n");
}
void set_apple(struct Apple* app1)
{
    int potion1,potion2,potion3;
    int heap1=app1[9].attribute+app1[10].attribute+app1[11].attribute+app1[1].attribute;//属性写错attribute
    int heap2=app1[2].attribute+app1[3].attribute+app1[5].attribute+app1[6].attribute;
    for(int i=1;i<=4;i++)
        potion1+=app1[i].attribute;
    for(int i=5;i<=8;i++)
        potion2+=app1[i].attribute;
    for(int i=9;i<=12;i++)
        potion3+=app1[i].attribute;
    if(potion1==potion2)
       { printf("毒苹果在9,10,11,12中");
        if(app1[9].attribute==app1[10].attribute)
           {
            printf("毒苹果在9,10中");
          if (app1[11].flag == app1[1].flag)//apple 没有state属性
                app1[12].flag = 0;
            else
                app1[11].flag = 0;}
        else {
            if (app1[9].flag == app1[1].flag)
                app1[10].flag = 0;
            else
                app1[9].flag = 0;
        }
    }
    if (potion1>potion2)
    {
        if (heap1== heap2)
        {
            if (app1[7].attribute==app1[8].attribute)
                app1[4].flag=0;
            else {
                if (app1[7].attribute<app1[8].attribute)
                    app1[7].flag=0;
                else
                    app1[8].flag=0;
            }
        }
        if (heap1>heap2)
        {
            if (app1[5].attribute==app1[6].attribute)
                app1[1].flag=0;
            else
            {
                if (app1[5].attribute<app1[6].attribute)
                    app1[5].flag=0;
                else
                    app1[6].flag=0;
            }
        }
        if (heap1<heap2)
        {
            if (app1[2].attribute>app1[3].attribute)
                app1[2].flag=0;
            else
                app1[3].flag=0;
        }
    }
     if (potion1<potion2)
    {
        if (heap1== heap2)
        {
            if (app1[7].attribute==app1[8].attribute)
                app1[4].flag=0;
            else {
                if (app1[7].attribute>app1[8].attribute)
                    app1[7].flag=0;
                else
                    app1[8].flag=0;
            }
        }
        if (heap1>heap2)
        {
            if (app1[2].attribute==app1[9].attribute)
                app1[3].flag=0;
            else
                app1[2].flag=0;
        }
        if (heap1<heap2)
        {
            if (app1[5].attribute=app1[6].attribute)
                app1[1].flag=0;
            else
                 if(app1[5].attribute==app1[9].attribute)
                    app1[6].flag=0;
                 else
                    app1[5].flag=0;
        }
    }
}int main()
{
    int i=1;
    struct Apple app1[20];
    for(int i=0;i<20;i++) app1[i].attribute=0,app1[i].flag=1;
    random();
    create_apple(app1);
    set_apple(app1);
    while(app1[i].flag==0)
    {
        i++;
    }
    printf("有毒的是第%d个苹果",i);
    system("pause");
}

attribute这个单词写对了?老弟