Я могу создать буквальное число, добавив L к значению; почему я не могу создать буквальный короткий или байт каким-то другим способом? Почему мне нужно использовать int-литерал с литом?
И если ответ "Потому что в C не было короткого литерала", то почему в C? нет коротких литералов?
Это не влияет на мою жизнь каким-либо значимым образом; достаточно легко написать (короткий) 0 вместо 0S или что-то еще. Но непоследовательность вызывает у меня любопытство; это одна из тех вещей, которые беспокоят вас, когда вы поздно ночью. Кто-то в какой-то момент принял дизайнерское решение, позволяющее вводить литералы для некоторых примитивных типов, но не для всех из них. Почему?