簡體   English   中英

如何在c中放置空格

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM