关于%*.*s

小数点.后“*”表示输出位数,具体的数据来自参数表
printf格式字符串中,与宽度控制和精度控制有关的常量都可以换成变量,方法就是使用一个“*”代替那个常量,然后在后面提供变量给“*”。

同样,小数点.前也可以添加*,也要用户输入一个位宽值来代替,表示输出的字符所占位宽

也就是说,前面定义输出总宽度,后面定义输出字符个数。

举例:

#include   
#include   int main()  
{      char *s = "this is test example";  int a,b;  printf("%.*s\n", 10, s);//这里的常量10就是给*号的,你也可以用一个变量来控制宽度  printf("%*.*s\n", 20, 10, s);//常量20控制输出所占位宽,也可以用一个变量控制  std::cin>>a>>b; //输入15 10  printf("%*.*s\n", a, b, s);//输出为:-----this is te  前面定义输出总宽度,后面定义输出字符个数std::cin.get();  std::cin.ignore();//暂停程序执行  
}  

输出结果为:

this is te

----------this is te//-代表空格

15  10 //输入

-----this is te

 


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部