我的朋友们首先来看两段代码
第一段
#include<stdio.h> int main() {int y=2456; printf("y=%3o\n",y); printf("y=%8o\n",y); printf("y=%#8o\n",y); //注意这个 return 0;}
y=4630 y= 4630 y= 04630 //注意这个 Program ended with exit code: 0
第二段
#include<stdio.h> int main() {int y=2456; printf("y=%3o\n",y); printf("y=%8o\n",y); printf("y=%#08o\n",y); //注意这个 return 0;}
y=4630 y= 4630 y=00004630 //注意这个 Program ended with exit code: 0
观察不难得出
(1)%o表示八进制
(2)%mo中的m表示输出长度
(3)%#nmo中的n表示填充的格式若n为NULL则只补一个0,若为0则用0补齐
(我试过n为其他数字或者字符,在Xcode上结果全部乱码,感兴趣的朋友可以在其他编译器上尝试)