无法理解此c程序的结果

Vis*_*ngh 0 c binary

#include<stdio.h>
void main(){
  int i;
  i = 011;
  printf("%d",i);
}
Run Code Online (Sandbox Code Playgroud)

该程序输出为9.我不知道原因.请帮我弄清楚为什么这个程序提供这个输出.

Bil*_*nch 7

在C中,您可以通过以下方式表示值9:

  • 十六进制(Base 16):0x9
  • 十进制(基数10):9
  • 八进制(基数为8):011


P0W*_*P0W 5

在C/C++/Java中,十六进制数字以0x.八进制数字开头0.

011 是八进制的 9