В C есть десятичные, восьмеричные и шестнадцатеричные литералы.
шестнадцатеричных из них легко узнаваем, потому что они начинают с 0x, как 0xff для десятичного числа 255.
восьмеричных из них являются те, которые начинаются с цифрой 0, возможно, с последующим дополнительными цифрами 0..7 , Следовательно, буквальная константа 0 на самом деле синтаксически является восьмеричной константой. Вот почему правило 7.1 MISRA формулируется следующим образом: «Октальные константы (отличные от нуля) и восьмеричные escape-последовательности не должны использоваться». Поскольку 0 является восьмеричной константой, они явно должны разрешить ее использование :-)
Десятичные константы, наконец, это те, которые начинаются с цифры 1..9, а затем, возможно, следующих цифр 0..9. Вот почему 064 отличается от 64.
Это должен быть принятый ответ. –