Unless its operand is a variable length array, sizeof does not evaluate its operand.
O_o

I think the statement could use some code.

Code:
#include <stdio.h>

void DoSomething1()
{
    printf("%zu\n", sizeof(char[printf("Hello, World!\n")]));
}

void DoSomething2()
{
    printf("%zu\n", sizeof(printf("Hello, World!\n")));
}

int main()
{
    DoSomething1();
    DoSomething2();
    return(0);
}
Soma