请各位专家看看这里面的异常
请各位专家看看这里面的错误!
随便给改一下!谢了!
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#define NULL 0
#define MAXZISE 10000
#define keytype int
typedef struct node
{
keytype data[MAXZISE];
int high,low;
}NodeType;
int Srand( int max)
{
int i;
srand((unsigned)time(NULL));
for(i=0;i <max; i++)
printf( "%d\n ",rand());
return rand();
}
int Seq_search(int a[],int k,int max)
{
int mid=0;
int low=0;
int high=max;
while(low <=high)
{
mid=(low+high)/2;
if(a[mid]==k)
{
return mid;
}
else if(k <a[mid])
{ high=mid-1;
}
else
{ low=high+1;
}
}
return -1;
}
main()
{
NodeType t,p;
NodeType a[];
int k,max;
printf( "MAX: ");
scanf( "%d ",&max);
a[]=Srand(max);
printf( "K: ");
scanf( "%d ",&k);
p=Seq_search(a[],k,max);
if(p!=-1)
printf( "Find! The Locatin is:%x,It 's data is %d\n ",p,k);
else
printf( "Sorry,can 't find! ");
return 0;
}
------解决方案--------------------
NodeType a[];
VC里不允许这样的写法
随便给改一下!谢了!
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#define NULL 0
#define MAXZISE 10000
#define keytype int
typedef struct node
{
keytype data[MAXZISE];
int high,low;
}NodeType;
int Srand( int max)
{
int i;
srand((unsigned)time(NULL));
for(i=0;i <max; i++)
printf( "%d\n ",rand());
return rand();
}
int Seq_search(int a[],int k,int max)
{
int mid=0;
int low=0;
int high=max;
while(low <=high)
{
mid=(low+high)/2;
if(a[mid]==k)
{
return mid;
}
else if(k <a[mid])
{ high=mid-1;
}
else
{ low=high+1;
}
}
return -1;
}
main()
{
NodeType t,p;
NodeType a[];
int k,max;
printf( "MAX: ");
scanf( "%d ",&max);
a[]=Srand(max);
printf( "K: ");
scanf( "%d ",&k);
p=Seq_search(a[],k,max);
if(p!=-1)
printf( "Find! The Locatin is:%x,It 's data is %d\n ",p,k);
else
printf( "Sorry,can 't find! ");
return 0;
}
------解决方案--------------------
NodeType a[];
VC里不允许这样的写法