Bitwise Operators - Programming

Q1:

If an unsigned int is 2 bytes wide then, What will be the output of the program ?
#include<stdio.h>

int main()
{
    unsigned int a=0xffff;
    ~a;
    printf('%x\n', a);
    return 0;
}

A ffff

B 0000

C 00ff

D ddfd

ANS:A - ffff

No answer description is available. Let's discuss.