sscanf和octals

bio*_*ffe 4 c macos scanf

它为什么不起作用?

const char* ip =  "192.168.1.4";
unsigned int ip4[4];
sscanf(ip,"%o.%o.%o.%o",ip4,ip4+1,ip4+2,ip4+3); // doesn't work
sscanf(ip,"%d.%d.%d.%d",ip4,ip4+1,ip4+2,ip4+3); // works
Run Code Online (Sandbox Code Playgroud)

我检查了scanf(3)的手册页,它清楚地表明%o是完全可以接受的.

ike*_*ami 10

有没有" 8"和" 9"八进制,所以192168没有八进制数,所以sscanf无法解析它们为八进制数字.