Entenda o comportamento do backspace (\ b) em C

Este programa copia sua entrada para sua saída, substituindo TAB (\t) por\t backspace (\b) por\b. Mas aqui no meu código eu não consigo ler caracteres de entrada quando eu entro backspace não substitui como uma guia funciona.

Compilando com o GCC no Linux:

#include<stdio.h>
int main(void)
{
    int c=0;
    while((c=getchar())!=EOF){
     if(c=='\t'){
      printf("\\t");
     if(c=='\b')
      printf("\\b");
    }
    else
     putchar(c); 
}
return 0;
}

Suponha que se eu digitar vinay (tab) hunachyal

Output:vinay\thunachyal 

Se eu digitar vinay (e 1 backspace)

Output:vina

Então, minha pergunta é por quevina\b não está imprimindo neste caso?
É possível detectar\b e imprimir\b? se não é o motivo

Note: Eu preciso de backspace de entrada de tempo de execução não fornecendo arquivo separado tendo \ b

questionAnswers(2)

yourAnswerToTheQuestion