Code Bye

c中格式输出的问题

#include <stdio.h>
void main()
{
    int y=23456;
    printf(“y=%#8o\n”,y);
}

输出结果为y=   04630
(04630前有3个空格)
请问“#”在这里起什么作用?

你在什么环境下打印的?我的输入和你不一样
2分
引用 1 楼 zhangxiangDavaid 的回复:

你在什么环境下打印的?我的输入和你不一样

输出

38分
这里的#是起到打印前缀0或者0x的作用,这里用的是8进制,所以会打印前缀0
在vc++6.0里运行的。3楼正解。谢谢!

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明c中格式输出的问题