为了账号安全,请及时绑定邮箱和手机立即绑定

*修饰符在printf()和scanf()中的区别?

*修饰符在printf()和scanf()中的区别?

C
一只有灵魂的虾 2017-08-20 21:17:03
查看完整描述

1 回答

已采纳
?
宾丶高

TA贡献35条经验 获得超18个赞

printf()函数中的*修饰符:

假定你不想事先指定打印字段的宽度,而是希望由程序来指定该值,那么你可以再字段宽度部分使用*代替数字来达到目的。

例如:  int a=2;

printf("%*d", 4, a);

打印a这个整型数时,以四位数的形式打印出来。那么结果就容易理解了。

打印结果:  0002

如果打印的数值为浮点型,那么也可以自己来定这个小数位数

例如:  float a=1.5;

printf("%*.*f", 5, 3, a);

打印a这个浮点数时,前面有一个空格,要保证数字最右边是第五个位置,小数部分保留3位。如果%5.3d类似的不是浮点数的话,点后面的数字代表总共保留的数字位数。

打印结果: _1.500

  scanf()函数中的*修饰符:

在scanf()中*修饰符截然不同,当把它放在%和说明字符之间时,它使函数跳过相应的输入项目。

例如:  int a;

scanf("%*d, %*d, %d", &a);

printf("a = %d", a);

输入:  1 2 3

打印结果:  a = 3

ps:我百度的结果,感觉这种用法不常见啊,至少你不说的话我是还没遇到过[笑哭]

查看完整回答
反对 回复 2017-08-21
  • 宾丶高
    宾丶高
    和什么类似?(ps.你的昵称,哈哈哈)
  • 一只有灵魂的虾
    一只有灵魂的虾
    c primer plus c语言的教材书啊 我看得不是很明白才问的(笑哭)
  • 宾丶高
    宾丶高
    恩恩,不明白就多问嘛,话说我以前都没看过那些书呢【笑哭】
点击展开后面3
  • 1 回答
  • 0 关注
  • 1146 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信