I tried this code:

```
int main(void)
{
   FILE *fp;    // Assuming fp is initialized
   putw(11,fp);  /* Instead of writing 11 to the file this statement
                    wrote an unwanted character into the file */

   /* However when I put 11 in single quotes as,
   putw('11', fp);
   It worked properly and wrote integer 11 into the file */
}

```

What is the explanation for this behaviour?