我试过把子函数化作主函数,定义好输入数组并输出g[],是没有问题的,运行结果为1 0 0 0 1 0 0 0,不像这种返回是特别大的数
#include<stdio.h>
#define N 8
#define M 63
int *SCHS(int f[]){
int i,g[N];
for(i=0;i<N;i++)
{
if(f[i]==1)
g[i]=i;
else
g[i]=0;
}
for(i=0;i<N;i++)
g[i]=g[i]+f[i];
for(i=0;i<N;i++)
{
if(g[i]%2)
g[i]=1;
else
g[i]=0;
}
return g;
}
void main(){
int *a,*b;
int f1[8]={1,0,0,0,1,0,0,1};
a=SCHS(f1);
printf("\n");
for(int i=0;i<N;i++)
{
printf("%d ",a[i]);
}
printf("\n");//
while(1);
}
这是运行结果,很奇怪
![Valid XHTML]