C %m.ns 输出

本文介绍了一段C语言代码,用于打印一个由星号组成的对称图案。通过使用printf函数的不同格式化选项,例如%*.*s和%-m.ns,来实现星号的精确布局。文章解释了这些格式化选项的具体含义及其在代码中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

 

%m.ns中间的m.n是对%s的修饰符,
   m表示字符串显示时的最大宽度,超过的会被截掉,
      n表示显示字符串中的几个字符,
   如果n<m,则数据靠右对齐显示

%-m.ns,其它和上面一样,只是靠左对齐

%*.*s 两个星号类似通配符,它的实际值由后面的参数决定
如printf("%*.*s",m,n,"********")就等价于%m.ns

现在这段好理解了
printf("%*.*s%-*.*s/n",N,i<=N/2?i:N-i,"*******************",N,i<=N/2?i+1:N-i+1,"*******************");
将屏幕分成19+19两半,前面一半由%*.*s控制,后面一半由%-*.*s控制

当 i<=N/2时,每行输出 i+(i+1)=2i+1 个星号
当 i>N/2 时,每行输出 (N-i)+(N-i+1)=2(N-i)+1 个星号

 

转自 :http://www.oldlinux.org/oldlinux/viewthread.php?tid=9962&extra=page%3D2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值