[英]About left padding in C programming?
我已經搜索了該網站,但似乎找不到與我的問題有關的解決方案:
例:
printf("%s I love puppies", name);
這是我的prinf語句,但是我如何在其中的pad處留出for循環呢?
編輯:
Hello //int i is 0
Hello //int i is 1
Hello //int i is 2
Hello //int i is 3
我想做這樣的事情:(在循環中)
space += " " //where space is first initialized as ""
在C編程中是否有與此功能類似的函數(在Java中)?
編輯:事情是我有這個:printf(“%s I love puppies”,name);
我當時正在考慮使用int space = i(根據循環計數器),然后執行printf(“%s”,space,“%s I love puppies”,name); 在printf中,但它說我有太多爭論...
您可以提供%s
格式轉換的長度(就像其他任何格式代碼一樣)。 因此%10s
將至少打印10個字符。
默認情況下,字符串在左側用空格填充。 (這也與其他格式代碼相同。)您不能更改printf
填充的字符,但是可以使用-
: %-10s
將其填充到右側。
長度規格可以用*
代替,這將導致printf
在轉換參數之前使用int
參數,並將其值用作長度。 (您也可以使用精度值來執行此操作。)
我想您正在嘗試做的是可變縮進。 將以上內容放在一起,您可以這樣做:
for (int indent = 0; indent < 20; ++indent) {
printf("%*s%s\n", indent, "", the_string);
}
也許執行一個printf(“”); 在使用現有循環計數作為限制因素的循環中,例如:
for( i=0; i<namelimit; i++ )
{
for(j=0; j<i; j++ )
{
printf(" ");
}
printf("%s\n",name);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.