Coraggio
Ti ho scritto dei suggerimenti nei commenti del codice:
codice:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <time.h>


#include <stdio.h>

int insVett(int *dati,int lung){
	int i,num;
	for(i=0;i<lung;i++){
		printf("Inserisci il numero %d di %d: ",i+1,lung);
		scanf("%d",& num);
		*dati++=num;
	}
}

//ordina i valori in modo Crescente
int ordinaVett(int *dati,int lung){
	int scambio=1,i,app;
	while(scambio){
		scambio=0;
		for(i=0;i<lung-1;i++){
			if(*(dati+i)>*(dati+i+1)){
				app=*(dati+i);
				*(dati+i)=*(dati+i+1);
				*(dati+i+1)=app;
				scambio=1;
			}
		}
	}
}

//visualizza vettore
int visVett(int *dati,int lung){
	int i;
	for(i=0;i<lung;i++){
		printf("[ %d ]",*dati++);
	}
	printf("\n");
	// GLI DEVI FAR RITORNARE UN VALORE
}

//effettua la ricerca
int ricerca(dati,dato,*indiceSup,*indiceInf)  // DEVI SPECIFICARE IL TIPO DI DATI esempio: int dati, ecc...
{
	if(*indicieInf>*indiceSup){
		return 1;
	}else{
		*indiceMedio=*indiceSup-(*indiceInf)/2;
		if(*(dati+indiceMedio)>dato){
			ricerca(dati,dato,*indiceInf-1,*indiceSup);
		}else{
			if(*(dati+indiceMedio)<dato){
				ricerca(dati,dato,*indiceInf+1,*indiceSup);
			}else{
				return 1;
			}
		}
	}
}

int main(){
	int lung1=0,val,test=-1,scelta;

	printf("Inserisci il numero di valori da inserire: ");
	scanf("%d",&lung1);
	int vett1[lung1];

	printf("Inserisci il numero da cercare: ");
	scanf("%d",&val);

	insVett(vett1,lung1);
	ordinaVett(vett1,lung1);
	visVett(vett1,lung1);

	ricerca(vett1,val);  // RICERCA PRENDE 4 ARGOMENTI, NON DUE

	return 0;
}
Se la correggi però non so se poi farà quello che gli vuoi far fare.
Puoi farmi un riassunto di qual'è lo scopo di tutte le funzioni?