我知道%%
用來逃避字符串中的實際%
跡象,所以%%%ds
最終會在以下格式字符串%10s
,但我不知道爲什麼我在這個字符串需要%%5s
?格式字符串與多個百分號
畢竟,只有兩個附加參數(BUFFSIZE/10)。
#define BUFFSIZE 100
char buf[100]={0}
sprintf(buf, "%%5s %%%ds %%%ds", BUFFSIZE/10, BUFFSIZE/10);
運行上面的代碼後,BUF將包含字符串,
%10s %10s
我在'buf'中獲得'%5s%10s%10s',在這裏演示http://ideone.com/c8MhN6。 _you_期望什麼? –
這意味着某人要麼過於聰明,要麼不知道['%* s'](https://stackoverflow.com/questions/7105890/set-variable-text-column-width-in-printf)。 –
@ n.m。或者,不怕維護者(_Ref:暴力精神病患者) –