LINUX.ORG.RU

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

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

Программа соответствует стандарту, если в ней нет UB на всех компиляторах, соответствующих стандарту.

Секундочку. Это ты щас на полном серьёзе сделал утверждение, что программа сама по себе принципиально не может соответствовать стандарту?

Ну нихера ж себе куда заводит отрицание реальности…

на всех компиляторах, соответствующих стандарту.

В множество "компиляторов, соответствующих стандарту" входят компиляторы, где int имеет 16 бит. Это законно:

5.3.5.3.2 Characteristics of integer types <limits.h>
...
— width for an object of type unsigned int
UINT_WIDTH 16

То есть, по твоему определению, любая программа, где допускается, что значение типа int вмещает более 16 бит, является не соответствующей стандарту, так как будет не валидной в Turbo C 2.0. Это примерно все существующие сейчас программы на си.

Попробуй подумать ещё. Прошлый раз у тебя получилось на удивление хреново.

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

Программа соответствует стандарту, если в ней нет UB на всех компиляторах, соответствующих стандарту.

Секундочку. Это ты щас на полном серьёзе сделал утверждение, что программа сама по себе принципиально не может соответствовать стандарту?

Ну нихера ж себе куда заводит отрицание реальности…

на всех компиляторах, соответствующих стандарту.

В множество "компиляторов, соответствующих стандарту" входят компиляторы, где int имеет 16 бит. Это законно:

5.3.5.3.2 Characteristics of integer types <limits.h>
...
— width for an object of type unsigned int
UINT_WIDTH 16

То есть, по твоему определению, любая программа, где допускается int имеет 32 бита является не соответствующей стандарту, так как будет не валидной в Turbo C 2.0. Это примерно все существующие сейчас программы на си.

Попробуй подумать ещё. Прошлый раз у тебя получилось на удивление хреново.