c語言中的sprintf函數?
#include<stdio.h>
intmain()
{
charstr[20];
inta=20984,b=48090;
sprintf(str,"%3d%6d",a,b);
printf("%s\n",str);
}
怎麼輸出是2098448090
sprintf(str,"%3d%6d",a,b);這句話中的%3d%6d到底是什麼意思?請高手幫我好好解答一下.
最佳回答:
%3d:就是輸出時右對齊,如果數字長度小於3,則左邊用空格填充
%6d:就是輸出時右對齊,如果數字長度小於6,則左邊用空格填充
inta=20984,b=48090;
sprintf(str,"%3d%6d",a,b);
由於a的長度為5,所以不用空格了,而b的長度為5,但設定的對齊長度為6,所以左為用空格填充一位
故輸出:2098448090