#include <stdio.h>                              
#include <complex.h>                            
#include <wchar.h>                              
#include <time.h>                               
#include <stdint.h>                             
#include <stdlib.h>                             

int main(){
        printf("sizeof(void*)           %2u\n", sizeof(void*));
        printf("sizeof(char)            %2u\n", sizeof(char)); 
        printf("sizeof(short)           %2u\n", sizeof(short));
        printf("sizeof(int)             %2u\n", sizeof(int));  
        printf("sizeof(long)            %2u\n", sizeof(long)); 
        printf("sizeof(float)           %2u\n", sizeof(float));
        printf("sizeof(double)          %2u\n", sizeof(double));
        printf("sizeof(long double)     %2u\n", sizeof(long double));
        printf("sizeof(wchar_t)         %2u\n", sizeof(wchar_t));
        printf("sizeof(size_t)          %2u\n", sizeof(size_t));
        printf("sizeof(time_t)          %2u\n", sizeof(time_t));
#ifdef __cplusplus
        puts("  C++:");
        printf("sizeof(bool)            %2u\n", sizeof(bool));
#else
        printf("sizeof(void)            %2u\n", sizeof(void));
#endif
#if __STDC_VERSION__ >= 199901L || defined __GNUC__
        puts("  C99/gnuc:");
        printf("sizeof(long long)       %2u\n", sizeof(long long));
        printf("sizeof(int_least16_t)   %2u\n", 
sizeof(int_least16_t));
        printf("sizeof(int_fast16_t)    %2u\n", 
sizeof(int_fast16_t));
        printf("sizeof(intmax_t)        %2u\n", sizeof(intmax_t));
        printf("sizeof(double complex)  %2u\n", sizeof(double 
complex));
        printf("long double complex     %2u\n", sizeof(long double 
complex));
        #ifndef __cplusplus
        printf("sizeof(_Bool)           %2u\n", sizeof(_Bool));
        #endif
#endif
        short twobytes = 1;
        char *bytePtr = (char*) &twobytes;
        printf("\nByte order:%8s %s",
        *bytePtr ? "Little" : "Big",
        "endian\n");
        printf("EOF%23d\n", EOF);
        printf("EXIT_FAILURE%14d\n", EXIT_FAILURE);
        printf("EXIT_SUCCESS%14d\n", EXIT_SUCCESS);
#ifdef __GNUC__
        printf("__GNUC__%18d\n", __GNUC__);
#endif
        printf("__DATE__%18s\n", __DATE__);
        printf("__TIME__%18s\n", __TIME__);
        printf("__FILE__%18s\n", __FILE__);
        return 0;
}

