前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C数据输出printf("%+-6d%+-6d",a,b);

C数据输出printf("%+-6d%+-6d",a,b);

作者头像
用户6755376
发布2020-03-05 09:32:45
1.6K0
发布2020-03-05 09:32:45
举报

一道选择题:

若有定义:int a=1234, b=-5678;

用语句 printf("%+-6d%+-6d",a,b); 输出,

以下正确的输出结果是( )

  1. 1234 -5678 (中间有两个空格,最后有一个空格)
  2. +1234 -5678 (中间有两个空格,最后有一个空格)
  3. +1234 -5678(最前面有一个空格,中间有一个空格)
  4. +-1234+-5678(最前面和后面均无空格)

猛一看是不是有点懵,好像知道点啥,又不确定是哪个答案。

常用的 %d,%c,%f,%s 大家应该都熟悉了。

复杂点的%6d是一共6位,不足的用空格补足。但是题目这么长的还没见过。其实这个题目并不复杂。

%-6d 加负号是左对齐。

%+6d 可不是右对齐哟。%6d默认就是右对齐,即不足6位的话前面补空格。

中间+表示输出的时候带正负号。

所以%+-6d意思就是宽度一共是6位,带正负号,左对齐,不足的右边补空格。

总结一下:

格式说明

表示内容

格式说明

表示内容

%d

整型 int

%c

字符 char

%ld

长整型 long int

%s

字符串

%f

浮点型 float

%o

八进制

%lf

double

%#o

带前导的八进制

%%

输出一个百分号

%x

十六进制

%5d

%#x

带前导的十六进制

举例说明:

printf(“%2d”,123 ); 第二部分有三位,大于指定的两位,原样输出123

printf(“%5d”,123 ); 第二部分有三位,小于指定的五位,左边补两个空格 123

printf(“%10f”,1.25 );小数要求补足6位的,没有六位的补0,。结果为 1.250000

printf(“%5.3f”,125 );小数三位,整个五位,结果为1.250(小数点算一位)

printf(“%3.1f”,1.25 );小数一位,整个三位,结果为1.3(要进行四舍五入)

若有int x=017;则下面语句对应输出如下:

输出语句

输出结果

printf(“%d”, x);

15

printf(“%o”, x);

17

printf(“%#o”,x);

017

printf(“%x”, x);

11

printf(“%#x”,x);

0x11

最后再留一个题目:

若有定义:int a=99, b=88;

用语句 printf("%%d%d",a,b); 输出,

以下正确的输出结果是( )

  1. %9988
  2. %d99
  3. %d88
  4. 以上均不正确

答案请仔细阅读上面总结。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-03-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 计算机二级C语言 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档