printf输出格式中出现%*s是什么意思啊??? printf("%*s%s\n","hello

printf输出格式中出现%*s是什么意思啊???printf("%*s%s\n","helloword","","hello");... printf输出格式中出现%*s是什么意思啊???
printf("%*s%s\n","hello word"," ","hello");
展开
 我来答
匿名用户
推荐于2016-07-23
展开全部
printf("%*s%s\n","hello word"," ","hello");

这种完全就是写错了,聪明一点的编译器(例如gcc)会提示:

field width specifier '*' expects argument of type 'int', but argument 2 has type 'char *'


不过 printf("%*s", len, str) 是有这种写法的,这时 printf 额外接受一个参数作为域宽。如果 str 的长度小于 len ,会用空格使长度补足。

额额偶偶
2015-05-16 · TA获得超过486个赞
知道小有建树答主
回答量:703
采纳率:0%
帮助的人:186万
展开全部
输出类型
追问
结果是什么?这个输出类型是什么意思?
追答
%*s应该是指定第一个量,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
我爱小脆筒
2019-02-28
知道答主
回答量:4
采纳率:0%
帮助的人:3186
展开全部

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
itqxzw
2015-05-16 · TA获得超过486个赞
知道小有建树答主
回答量:275
采纳率:0%
帮助的人:146万
展开全部
这里如果后面只有两个参数,*没有意义,如果有三个参数,*代表打印数据长度
比如
printf("%*s%s", 10, "a", "b");相当于:
printf("%10s%s", "a", "b");
追问
自己写程序输出结果是一直打印空~原因是什么呢?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式