首页 > 解决方案 > Printf 未显示并返回值 3221225477

问题描述

对 C 和一般编程来说是新手,所以当结构与数组和指针结合使用时,我遇到了一些困难。我正在尝试通过尝试创建一个结构,然后创建一个数组指针(朝向结构)重复它 10 次。然后找到每个结构的平均值并打印出来。

在循环之前,一切似乎都正常工作,返回值为 0。

#include <stdio.h>
#include <stdlib.h>

typedef struct Tries {
float attempts1;
float attempts2;
float attempts3;
float aver;
}Try;

int main(int argc, char *argv[]) {
int i,size=10,at1,at2,at3;
Try** arrayofTries= malloc (sizeof(Try)*size);
for (i=0;i<size;i++){

        arrayofTries[i]->attempts1= rand () %(900 - 700)+700;
        arrayofTries[i]->attempts2= rand () %(900 - 700)+700;
        arrayofTries[i]->attempts3= rand () %(900 - 700)+700;
        at1= arrayofTries[i]->attempts1;
        at2= arrayofTries[i]->attempts2;
        at3=arrayofTries[i]->attempts3;
        arrayofTries[i]->aver = (at1+at2+at3)/3;
     printf ("The average of %d person is%f",i,arrayofTries[i]->aver);
}

return 0;
}

标签: carrayspointersstruct

解决方案


arrayofTries应该是类型Try *notTry **

Try *arrayofTries = malloc (sizeof(Try) * size);

所以你所有的都->应该是简单的点.


推荐阅读