How to declare variable in blocks with internal scope with C

2 Answers

0 votes
#include <stdio.h>

int n = 12345;

int main() {
    int n = 1; {
        const unsigned n = 9381;
        printf("const unsigned n = %d\n", n);
    }
    printf("int n = %d\n", n);
    
    int a = 33; {
        const unsigned a = 876;
        printf("const unsigned a = %d\n", a);
    }  

    printf("int n = %d\n", n);
    printf("int a = %d\n", a);
     
    return 0;
}





/*
run:

const unsigned n = 9381
int n = 1
const unsigned a = 876
int n = 1
int a = 33

*/

 



answered Oct 6, 2021 by avibootz
0 votes
#include <stdio.h>

int n = 12345;

int main() {
    {
        const unsigned n = 111;
        printf("const unsigned n = %d\n", n);
    }
    printf("int n = %d\n", n);
    
    {
        const unsigned a = 222;
        printf("const unsigned a = %d\n", a);
    }  

    printf("int n = %d\n", n);
    // printf("int a = %d\n", a); // error: ‘a’ undeclared 
     
    return 0;
}





/*
run:

const unsigned n = 111
int n = 12345
const unsigned a = 222
int n = 12345

*/

 



answered Oct 6, 2021 by avibootz
...