首页 > 解决方案 > 如何在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个空格。

我怎样才能做到这一点?

标签: c

解决方案


首先,从printf 手册中了解的事情:

场宽

一个可选的十进制数字字符串(第一个数字非零),指定最小字段宽度。如果转换后的值的字符数少于字段宽度,它将在左边用空格填充...而不是十进制数字字符串,可以写“*”...以指定字段宽度在下一个给出争论

考虑到这一点,要实现左侧空间填充,您需要的代码是:

printf("%*c", player.location+1, player.symbol);

这表示打印的最小宽度是player.location+1。由于player.symbol是单个字符,这意味着会有player.location空格填充。


推荐阅读