現在「猫でもわかるC言語」で勉強しています。
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
double pai=3.14159265358979;
int mon=2;
float flt=1.2f;

printf("%5.2hf\n",flt); ←ここだけtypeのプレフィックスの「h」を使っているのか分からないです。
printf("%-5.2f\n",flt);
printf("%05.2f\n",flt);
printf("%+08.2f\n",flt);
printf("%-08.2f\n",flt);

printf("%d\n",mon=3);
printf("%e\n",pai);
printf("%08.2f\n",pai);
printf("%05d\n",mon);

printf("円周率は%fです\n",pai);
printf("円周率は%1fです\n",pai);
printf("もう少し詳しい値は%10.8lfです\n",pai);
printf("もう少し詳しい値は%15.13lfです\n",pai);←ここの2行も「l」が使われていますが何のために使用しているのか分かりません。
printf("もう少し詳しい値は%20.18fです\n",pai)
system("PAUSE");
return 0;
}

見難いと思いますが、現在このような感じで悩んでます。
質問の内容がおかしかったらすみません。