The Sizeof () operator only works at compile time and doesn’t evaluate anything at run time.
In the following code snippet, the func() function is never called. The inner sizeof() returns the size of short (return type of func()) and the outer sizeof() returns the size of size_t?in other words, the unsigned int (return value of sizeof()):
short func(short x){ printf("%d", x); return x;}int main(){ printf("%d", sizeof(sizeof(func(3))));}