Modifica così
unsigned int i, j, esc=0;
for (j = i = 0; i < strlen(t); i++) {
switch (t[i])
{
case '\\':
if (esc) { s[j++] = '\\'; esc--; }
else esc++;
break;
case 't':
if (esc) { s[j++] = '\t'; esc--; }
else s[j++] = 't';
break;
case 'n':
if (esc) { s[j++] = '\n'; esc--; }
else s[j++] = 'n';
break;
default:
s[j++] = t[i];
break;
}
}
s[j] = '\0';
e spiega perché adesso va meglio