中间那段把数组结合起来不太明白,程序整体也不太对,结果出不来,可以帮我讲解和修改一下吗?

//我考的是给两个数组输入整数,先合并,再找素数
#include<stdio.h>
#include<math.h>
#include<string.h>
int a[3],b[3],i,j,k;
void main()
{
	void combine();
	void prime();
	printf("input the a arrays:\n");
	for(i=0;i<3;i++)
		scanf("%d",&a[i]);
	printf("input the b arrays:\n");
	for(j=0;j<3;j++)
		scanf("%d",&b[j]);
	combine();
	prime();
}
void combine(void)
{	
	int *c;

    for (i=j=k=0; i<3&&j<3; k++)
    {
        if (a[i]<b[j]) 
		{ 
            c[k]=a[i]; 
            i++;
        }
        else 
       { 
            c[k] = b[j]; 
            k++;
       }
    }
    for (;i<3;i++,k++)
    {
         c[k] = a[i];
    }
    
    for (;j<3;j++,k++)
    {
         c[k] = b[j];
    }
	for(i=0;i<3;i++)
		printf("%d",c[i]);
}
void prime(void)
{	
	float s;
	for(j=0;j<3;j++)
		s=sqrt(a[j]);
		while(a[j]!=(1||0))
		for(i=2;i<=s;i++)
			if(a[j]%i==0)break;
		if(i<=s)
			printf("%d is not a prime\n",a[j]);
		else
			printf("%d is a prime\n",a[j]);
}

 

1、出现野指针了----就是那个c,(程序能跑起来也挺奇怪的)