萌新求老哥解答C语言找错,哪里有错,求解答


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

void suijishu(int *arr,int n)
{
 srand(time(NULL));
 int count=0;
 while(1)
 {
     arr[count++]=rand()%10;
     for(int i=0;i<<count-1;i++)
     {
         if(arr[count-1]==arr[i])
         {
             count--;
             break;
         }
    }
         if(count==n)
         {
             break;
         }
     }
 }


int main()
{ 
 int i;
 int n;
 int r;
 int p;
 int t;
 int x,y;
 scanf("%d",n);
 int arrx[n],arry[n];
    suijishu(arrx,sizeof(arrx)/sizeof(*arrx));
    suijishu(arry,sizeof(arry)/sizeof(*arry));
     for(i=1;i<=n;i++)
     {
      x=arrx[i];
      y=arry[i];
      r=x*x+y*y;
      if(r<=1)
      {
        t=t+1;
      }
     }
    p=4*t/n;
    printf("pi is %f\n",p);
    return 0;
}

第37行,动态定义数组的大小,有些编译器可以有些不可以
还有你scanf用错,变量需要取地址。