c - 如何在c中放置空格
问题描述
我想在里面加空格printf("%c",player.symbol);
空格应等于以下用户输入的值
printf("Next Move [1-%d]: ", game.pathlength);
scanf("%d", &player.location);
假设 player.symbol = V 并且用户输入 Next Move: 8 即 player.location =8 那么输出应该是这样的: (8个空格)V 即V之前必须有8个空格。
我怎样才能做到这一点?
解决方案
首先,从printf 手册中了解的事情:
场宽
一个可选的十进制数字字符串(第一个数字非零),指定最小字段宽度。如果转换后的值的字符数少于字段宽度,它将在左边用空格填充...而不是十进制数字字符串,可以写“*”...以指定字段宽度在下一个给出争论
考虑到这一点,要实现左侧空间填充,您需要的代码是:
printf("%*c", player.location+1, player.symbol);
这表示打印的最小宽度是player.location+1
。由于player.symbol
是单个字符,这意味着会有player.location
空格填充。
推荐阅读
- sql - 仅从带有条件的 SQL 表中的一列中选择值
- html - @page 规则在浏览器中不起作用
- java - 将证书和私钥加载到 Java KeyStore 中
- r - R中的数据(行)操作
- django - from_db_value() 接受 4 个位置参数,但 Django 给出了 5 个
- xamarin - 在 Xamarin 中设置 .SFUI-* 字体似乎可以正确使用字体扩展名进行转换,但仍然出现警告错误
- tensorflow - 在 TF2 的损失函数中使用中间层的输出
- python - Python中跨多列的回归
- python - RegEx 搜索方法在 Qwiklabs 上返回 AttributeError 但在本地计算机上不返回
- docker - Docker 守护进程无法访问可使用 curl 访问的公共 docker 注册表