Anything written in sizeof() is never executed in C

2.6

In C/C++ sizeof() operator is used to find size of a date type or variable. Expressions written in sizeof() are never executed.

Examples:

// C program to demonstrate that the
// expressions written in sizeof() are
// never executed
#include <stdio.h>

int main(){
    
    // The printf in sizeof is not executed
    // Only the return type of printf is 
    // considered and its size is evaluated
    // by sizeof,
    int a = sizeof(printf("hey"));

    printf("%d", a);
    
    return 0;
}
Output:
4

Even if we assign a value inside sizeof(), the changes are not reflected.

// One more C program to demonstrate that 
// the expressions written in sizeof() are
// never executed
#include <stdio.h>

int main() {
    int a = 5;
    int b = sizeof(a = 6);
    printf("a = %d,  b = %d\n", a, b);
    return 0;
}
Output:
a = 5, b = 4

This article is contributed by Nishu Singh. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.

GATE CS Corner    Company Wise Coding Practice

Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.

Recommended Posts:



2.6 Average Difficulty : 2.6/5.0
Based on 3 vote(s)










Writing code in comment? Please use ide.geeksforgeeks.org, generate link and share the link here.