0
我正在學習如何正確編寫結構。但我不習慣修理結構。我所需要的就是代碼錯誤(對於結構)意味着什麼以及如何解決它。它與數組類似嗎?我知道代碼沒有輸入,但我需要的幫助只是爲了修復由結構引起的錯誤。如何打印和掃描結構
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<limits.h>
#define MAX_POINTS 100
#define MAX_POLYGONS 100
typedef struct{
int polyid[MAX_POINTS];
int npoints[MAX_POINTS];
double x[MAX_POINTS];
//Stage1
double y[MAX_POINTS];
double perimeter;
double eccentricity;
double area;
} Polygon;
int main(int argc, char *argv[]) {
Polygon Total_poly[MAX_POLYGONS];
int count=0;
int i,j,k,l;
printf("Stage 1");
printf("=====");
while(scanf("%d %d",&Total_poly[count].polyid,&Total_poly[count].npoints)==2){
printf("First Polygon %d",Total_poly[count].polyid);
printf("x_val y_val");
for(i=0;i<Total_poly[count].npoints;i++){
while(scanf("%lf %lf",&Total_poly[count].x[i],
&Total_poly[count].y[i])==2){
printf("%d %d",Total_poly[count].x[i],
Total_poly[count].y[i]);
}
}
}
//Stage2
//Stage3
return 0;
}
謝謝你們!
呃......又怎麼樣? – user35443
我認爲你需要重新定義你的結構。它裏面有太多的數組。請參見http://ideone.com/YOSjYt – pmg
結構數組對於堆棧變量來說相當多。建議用'malloc'獲取內存。 –