鱼C论坛

 找回密码
 立即注册
查看: 4298|回复: 2

C代码问题

[复制链接]
发表于 2012-8-4 12:21:24 | 显示全部楼层 |阅读模式
1鱼币
#include<stdio.h>
int main()
{
        int a=252;
        printf("a=%o a=%3o\n",a,a);
    printf("a=%x a=%3x\n",a,a);
        return 0;
}
上面的a=%3o\n 中的3有什么用? 貌似运行时没有3,即a=%o\n ,输出结果一样,为什么?

最佳答案

查看完整内容

3 代表输出3个字符的宽度 ,而 a等于252(八进制表示是374),也是3个字符,因此,有3没3看不出区别 如果将3换成10,结果如下:
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-8-4 12:21:25 | 显示全部楼层
3 代表输出3个字符的宽度 ,而 a等于252(八进制表示是374),也是3个字符,因此,有3没3看不出区别
如果将3换成10,结果如下:
未命名.jpg
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-8-4 13:06:29 | 显示全部楼层
%3o中的3是补位的,如果输出的数字总长度不到3位,它会用空格来填补.
a=252已经是3位数了.
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-9-28 03:42

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表