История изменений
Исправление 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. Это примерно все существующие сейчас программы на си.
Попробуй подумать ещё. Прошлый раз у тебя получилось на удивление хреново.