1. Си / Говнокод #21646

    −51

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    #include <stddef.h>
    #define H 0.2
    #define A 0
    #define B 2
    void main( void ) 
    {
    	const double h = 0.2;
    	const int b = 2;
    	const int a = 0;
    	
    	const size_t size1 = (b - a) / h;
    	double arr1[size1] = { 1 }; // Вы видете тут VLA? А он есть
    	
    	const size_t size2 = (B - A) / H;
    	double arr2[size2] = { 1 }; // И тут есть
    	
    	double arr3[(const size_t)((b - a) / h)] = { 1 }; // И тут тоже
    	
    	double arr4[(const size_t)((B - A) / H)] = { 1 }; // И здесь тоже
    	
    	double arr5[10] = { 1 }; // Ну хоть тут нет, слава Селестии
    }

    Такие дела. Без инициализатора, конечно же, работает. Но мне интересно, почему он это именует variable-sized object? Везде константы.

    Запостил: a1batross, 06 Ноября 2016

    Комментарии (42) RSS

    Добавить комментарий