Leitura de Strings com espaços em c

Eu queria saber qual o comando que ler uma string, com espaços, e eu tentei alguns como %[^n], e ele nem ler a string.
aqui esta meu codigo:
O programa verifica se a palavra ou frase é igual quando é escrita ao contrario,Ex: ana, o rato

 int main(){
 	char word[255], drow[255];
 	int i, j=0, k=0, quant;
 	scanf("%d", &quant);
 		
 	do{	
 		scanf("%s%*c", word);
 		
 		for(i=(strlen(word)- 1) ; i>=0 ; i--){
 			drow[j] = word[i];
 			j++;
 			}
 			drow[j] = '\0';
 			
 			
 		if(strcmp(word, drow)==0){
 				printf("SIM\n");
 			}else{
 				printf("NAO\n");
 			}
 		k++;
 		}while(k<quant);
		
 	system("pause");
 	return 0;
 	}

toda a vez que eu caio nesse problema eu lembro que o scanf tem diversos comportamentos curiosos e nem sempre consigo fazer uma solução portavel.

uma solução é vc usar fgets para ler da STDIN que vai ler uma string inteira incluindo os espaços.
boa sorte