ecco prova
codice:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
char* rimuovi_doppi_spazi(int ,char *);
int main(){
printf("\nInserisci la stringa di testo da processare\n");
char *stringa;
stringa = (char *) malloc (100*sizeof(char));
gets(stringa);
int i;
for(i=0;i<strlen(stringa);i++){
if ( stringa[i] == ' ' && stringa[i+1] == ' ')
stringa = rimuovi_doppi_spazi(i+1,stringa);
if ( stringa[i] == '\t' )
stringa[i]=' ';
}
printf("\nSTRINGA senza TAB e/o doppi spazi(se presenti)\n\n");
puts(stringa);
getchar();
}
char* rimuovi_doppi_spazi(int inizio,char *str){
int j,i;
for(j=inizio+1,i=0;j<strlen(str);j++,i++)
str[i]=str[j];
return str;
}
ps se la traccia del problema è quella che hai scritto tu mi sembra troppo avanzato per chi inizia