程序是
#include<math.h>
#define PI 3.1415926
main()
{
float aa[5][2];
float a,b,m,n,x1,y1,x2,y2,x3,y3,x4,y4,x5,y5;
int r;
scanf("%d",&r);
m=sin(18*PI/180);n=cos(18*PI/180);
a=sin(53*PI/180);b=cos(53*PI/180);
x1=0;y1=r;x2=-r*n;y2=r*m;x3=-r*b;y3=-r*a;x4=r*b;y4=-r*a;x5=r*n;y5=r*m;
aa[5][2]={x1,y1,x2,y2,x3,y3,x4,y4,x5,y5};
}
#include <math.h>
#include <stdio.h>
#define PI 3.1415926
main()
{
float aa[5][2];
float a,b,m,n,x1,y1,x2,y2,x3,y3,x4,y4,x5,y5;
int r;
scanf("%d",&r);
m=sin(18*PI/180);n=cos(18*PI/180);
a=sin(53*PI/180);b=cos(53*PI/180);
x1=0;y1=r;x2=-r*n;y2=r*m;x3=-r*b;y3=-r*a;x4=r*b;y4=-r*a;x5=r*n;y5=r*m;
//aa[5][2]={x1,y1,x2,y2,x3,y3,x4,y4,x5,y5};
//问题出在这句. 除非定义时直接初始化,否则不能这样对整个数组赋值.
//因为aa[5][2]在这里是指向一个元素.而不是一个数组. 另外aa[5][2]下标也越界了.
}
******************************************************************************************************************
首先. 数组不能这样整个赋值. 所以你这里就必须分开为数组的每个元素赋值.
其次.二维数组aa[5][2] . 注意数组下标从0开始. 所以.aa最后一个元素是aa[4][1].
aa[5][2]并不是这个二维数组的元素. 所以说下标越界了.