I understand what is happening when I do this more explicitly using `getchar()`, `putchar()` and a while loop; however, I was just wondering is the storing and processing of an entered string the same when the code below is executed (behind the scenes)? Is each character being stored as one element of the array "typed"? How does `scanf` do this? etc.

```
#include <stdio.h>

int main(void)
{
    char typed[500];
    scanf("%[^\tEOF]", &typed);

    printf("%s", typed);
    return(0);
}

```

Thanks.