LINUX.ORG.RU

История изменений

Исправление LamerOk, (текущая версия) :

И без ПДД водилу нельзя привлечь к ответственности?

Да.

Ладно, дальнейшую дискуссию о КоАП я предаю в надёжные руки сотрудников ППС и дежурного в отделении. Для этого срача это уже через чур.

при выполнении a+i оказалось за пределами массива.

И как компилятор должен об этом узнать на этапе компиляции до запуска программы на вычисление?

Чувак, значение любого арифметического выражения с типами float или double совершенно не известно.

Как красиво ты вырезал кусочек! Прям загляденье. А текст до и после почему пропал?

F.1 Introduction
1
This annex specifies C language support for the IEC 60559 floating-point standard. 
... An implementation that
defines _ _STDC_IEC_559_ _ shall conform to the specifications in this annex.356)

F.2 Types 

The C floating types match the IEC 60559 formats as follows: 
— The float type matches the IEC 60559 binary32 format. 
— The double type matches the IEC 60559 binary64 format. 
— The long double type matches an IEC 60559 extended format,357) else a
non-IEC 60559 extended format, else the IEC 60559 double format.

А теперь вслух и с выражением читаем ссылку мелким шрифтом:

356) Implementations that do not define _ _STDC_IEC_559_ _ are not required to conform to these
specifications.

Ссылку, я так чувствую, поставили специально для тебя. ))

В 88/89 стандарте вообще ничего про IEEE 754 и производные нет.

Ну и наконец, тривиальный же пример, без единой арифметической операции:

user@computer:/tmp$ cat size_t_size.c 
#include <stdio.h>

int main(void)
{
    (void) printf("%zu\n", sizeof(size_t));
    return 0;
}
user@computer:/tmp$ gcc -m32 -pedantic -Wall -Wextra -o size_t_size size_t_size.c 
user@computer:/tmp$ ./size_t_size 
4
user@computer:/tmp$ gcc -pedantic -Wall -Wextra -o size_t_size size_t_size.c 
user@computer:/tmp$ ./size_t_size 
8
user@computer:/tmp$ 

Предлагаю тебе найти несоответствие программы стандарту и/или доказать, что 8 == 4.

Исходная версия LamerOk, :

И без ПДД водилу нельзя привлечь к ответственности?

Да.

Ладно, дальнейшую дискуссию о КоАП я предаю в надёжные руки сотрудников ППС и дежурного в отделении. Для этого срача это уже через чур.

при выполнении a+i оказалось за пределами массива.

И как компилятор должен об этом узнать на этапе компиляции до запуска программы на вычисление?

Чувак, значение любого арифметического выражения с типами float или double совершенно не известно.

Как красиво ты вырезал кусочек! Прям загляденье. А текст до и после почему пропал?

F.1 Introduction
1
This annex specifies C language support for the IEC 60559 floating-point standard. 
... An implementation that
defines _ _STDC_IEC_559_ _ shall conform to the specifications in this annex.356)

F.2 Types 


...
— The long double type matches an IEC 60559 extended format,357) else a
non-IEC 60559 extended format, else the IEC 60559 double format.

А теперь вслух и с выражением читаем ссылку мелким шрифтом:

356) Implementations that do not define _ _STDC_IEC_559_ _ are not required to conform to these
specifications.

Ссылку, я так чувствую, поставили специально для тебя. ))

В 88/89 стандарте вообще ничего про IEEE 754 и производные нет.

Ну и наконец, тривиальный же пример, без единой арифметической операции:

user@computer:/tmp$ cat size_t_size.c 
#include <stdio.h>

int main(void)
{
    (void) printf("%zu\n", sizeof(size_t));
    return 0;
}
user@computer:/tmp$ gcc -m32 -pedantic -Wall -Wextra -o size_t_size size_t_size.c 
user@computer:/tmp$ ./size_t_size 
4
user@computer:/tmp$ gcc -pedantic -Wall -Wextra -o size_t_size size_t_size.c 
user@computer:/tmp$ ./size_t_size 
8
user@computer:/tmp$ 

Предлагаю тебе найти несоответствие программы стандарту и/или доказать, что 8 == 4.