舉個例子,比較好說明一下
printf("%*s",5,"123");
執行一下,這條語句,輸出
##123
(#代表乙個空格)
類似於%5d 這樣的狀況
這裡*被常量5代替,用於控制最小字元寬度,主要是針對,最小字元寬度未知的情況,當然*可以對應整型變數
貼一道藍橋杯的填空題,要用到%*s輸出
2015藍橋省賽
4.stringingrid函式會在乙個指定大小的格仔中列印指定的字串。
要求字串在水平、垂直兩個方向上都居中。
如果字串太長,就截斷。
如果不能恰好居中,可以稍稍偏左或者偏上一點。
下面的程式實現這個邏輯,請填寫劃線部分缺少的**。
#include #include void stringingrid(intwidth, int height, const char* s)
{ int i,k;
char buf[1000];
strcpy(buf, s);
if(strlen(s)>width-2) buf[width-2]=0;
printf("+");
for(i=0;i
對於題目中資料,應該輸出:
| abcd1234 |
(如果出現對齊問題,參看【圖1.jpg】)
注意:只填寫缺少的內容,不要書寫任何題面已有**或說明性文字。
答案:printf("%*s%s%*s",(width-strlen(buf))/2-1,"",buf,(width-strlen(buf))/2-1,"");
c語言輸出格式
stdio.h標頭檔案使我們可以訪問標準i o庫,stdlib.h定義了exit success和exit failure符號,string.h標頭檔案提供的函式操縱字串。常見printf格式 d 以十進位制形式列印乙個整型值 o 以八進位制形式列印乙個整型值 x 以十六進製制形式列印乙個整型值 g...
c語言輸出格式
1 轉換說明符 a a 浮點數 十六進製制數字和p p 記數法 c99 c 字元 d 有符號十進位制整數 f 浮點數 包括float和doulbe e e 浮點數指數輸出 e e 記數法 g g 浮點數不顯無意義的零 0 i 有符號十進位制整數 與 d相同 無符號十進位制整數 o 八進位制整數 eg...
c語言罕見輸出格式
格式化的規則 如果要列印指標,使用 p格式符 這樣可以使程式在 32位及 64位平台上均可執行 如果列印乙個計數的字串,使用 z ansi 或者 wz unicode 它可以正確列印出非空結束的字串 如果需要列印 unicode值,必須確認程式執行在 dispatch level 級別之下 每個輸出...