How to get the current runtime version in C

2 Answers

0 votes
#include <stdio.h>

int main() {
    #if __STDC_VERSION__ >= 201710L
        printf("C18 (or later) is being used.\n");
    #elif __STDC_VERSION__ >= 201112L
        printf("C11 is being used.\n");
    #elif __STDC_VERSION__ >= 199901L
        printf("C99 is being used.\n");
    #else
        printf("C89/C90 is being used.\n");
    #endif

    return 0;
}



/*
run:

C18 (or later) is being used.

*/

 



answered Jul 2, 2025 by avibootz
0 votes
#include <stdio.h>

int main() {
    printf("C Standard Version: ");
    #if __STDC_VERSION__ == 199901L
        printf("C99\n");
    #elif __STDC_VERSION__ == 201112L
        printf("C11\n");
    #elif __STDC_VERSION__ == 201710L
        printf("C17 (or C18)\n");
    #else
        printf("Pre-C99 or unknown (%ld)\n", __STDC_VERSION__);
    #endif

    return 0;
}


/*
run:

C Standard Version: C17 (or C18)

*/

 



answered Jul 2, 2025 by avibootz

Related questions

1 answer 83 views
2 answers 98 views
2 answers 117 views
2 answers 125 views
1 answer 103 views
3 answers 124 views
...