Why this output of this C program?
Program: 

       int main( )
        {
        printf("%d",printf("%d %d",5,5)&printf("%d %d",7,7));
        return 0;
        }
Output:

    55773

I am new to C, I could guess where the 55 77 came from, but no idea where the 3 came from. Can someone explain the output?

Why this output of this C program?
===

Program: 

       int main( )
        {
        printf("%d",printf("%d %d",5,5)&printf("%d %d",7,7));
        return 0;
        }
Output:

    55773

I am new to C, I could guess where the 55 77 came from, but no idea where the 3 came from. Can someone explain the output?
