[英]How can I put spaces in 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
的空間填充。
您可以通過以下方式控制可變寬度字段字符*
來printf()
任意數量的空格:
void print_spaces(int n)
{
printf("%*s", n, "");
}
因此,您在大小為您要求的空格數的字段中打印一個空字符串。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.