蓝移863 2023-06-23 00:18 采纳率: 100%
浏览 24
已结题

输入结果是如何实现右对齐和成功赋值的

img


不太懂这个这串代码为什么会实现右对齐的效果,以及*不是抑制赋值符号吗,为什么最后一个printf后面的四个变量前面两个%d却能得到结果(而且还有抑制赋值符

  • 写回答

3条回答 默认 最新

  • 关注

    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,左对齐输出

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 6月23日
  • 已采纳回答 6月23日
  • 创建了问题 6月23日

悬赏问题

  • ¥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