关于 "%*d" 一类的用法总结

在C语言的输入输出流中,有时会出现 "%*d" 等的用法,上网搜了一下,总结如下:

 

输入时      "%*d" 等表示“虚度 ”,即不读,例如:

 

         double   v1,v2;  
         scanf(" %lf  %*d  %lf   %*d",&v1,&v2);

 

执行时必须有是个输入,如  
        11   22   33   44

但事实上只有第一个和第三个是有效输入,则v1=11     v2=33     输入域22和44被跳过了。

 

输出时       "%*d" 中的 "*" 表示占位符 ,例如:

 

         float   f   =   3.14159;  
         printf( "%*.*f",   10,   2,   f);

 

输出时按出现顺序用10和2分别替换两个*,它等同于:printf("%10.2f",   f);

又如

 

         printf( "%*d" , 2,1);

 

则结果是 “ 1“ ,注意,数字1前面有一位空格,因为指定的输出格式是2位的。

 

最后注意 的格式是

        printf("%#o",a);           

中,#o表示以八进制数表示a(为0ZZ的形式);同样, #x表示以十六进制数表示(为0xZZ或0XZZ)。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值