printf和scanf的*修饰符

printf()函数
     如果有时候不想事先指定字段的宽度,而是希望由程序来指定该值,那么可以在字段宽度部分使用*代替数字来实现。但是必须使用一个参数来告诉函数字段宽度应该是声明。
     也就是说, 如果转换说明符是%*d,那么参数列表中一个包括一个*的值和一个d的值
     该技术也可以和浮点值一起使用来指定精度和字段宽度。
     例子如下:
#include <stdio.h>  
int main( void
        unsigned width,precision;
        int number=256;
        double weight=242.5;
       printf( "what field width?\n" );
       scanf( "%d" ,&width);
       printf( "the number is: %*d: \n" ,width,number);
       scanf( "%d %d" ,&width,&precision);
       printf( "weight=%*.*f\n" ,width,precision,weight);
        return 0;
}  
输出结果为:


scanf()函数
     在scanf函数中,*提供截然不同的服务。 当把它放在%和说明符字母之间时,它使函数跳过相应的输入项目。如下例子:
#include <stdio.h>  
int main( void
        int n;
       printf( "please enter three integers: \n" );
       scanf( "%*d %*d %d" ,&n);
       printf( "the last integer was %d\n" ,n);
        return 0;
}
输出结果为:


scanf函数的指令是:跳过两个整数,并把第三个整数复制给n。


  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值