不太懂这个这串代码为什么会实现右对齐的效果,以及*不是抑制赋值符号吗,为什么最后一个printf后面的四个变量前面两个%d却能得到结果(而且还有抑制赋值符
输入结果是如何实现右对齐和成功赋值的
不太懂这个这串代码为什么会实现右对齐的效果,以及*不是抑制赋值符号吗,为什么最后一个printf后面的四个变量前面两个%d却能得到结果(而且还有抑制赋值符
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- 技术专家团-小桥流水 2023-06-23 01:06关注
printf函数的返回值是输出的字符个数,因为你输入的两个字符长度都是3,所以wname和wsurname都是3
对于最后一个printf中的%* d,含义如下:printf("%*d",a,b); 其中,a代表*,即格式化输出a个宽度的整形b。
因为你输入的两个字符长度都是3,所以最后一个printf 就等价于
printf("\n%3d %3d",wname,wsurname)
从而实现控制输出长度,%后面是正数,表示右对齐,如果是负数就是左对齐。
%3d表示,输出长度为3,右对齐输出
%-3d表示,输出长度为3,左对齐输出本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 课上布置的任务,但本人没学过,求帮
- ¥15 三个简单项目写完之后有重赏之后联系我
- ¥15 python报内存不能read错误
- ¥15 hexo安装这种情况怎么办
- ¥100 找hCaptcha图形验证码自动识别解决方案
- ¥15 启动pycharm出错
- ¥15 Windows Script Host 无法找到脚本文件"C:\ProgramData\Player800\Cotrl.vbs”
- ¥15 matlab自定义损失函数
- ¥15 35114 SVAC视频验签的问题
- ¥15 impedancepy