>Why does it happen?
Tabs are a different spacing than you expect. Try using width specifiers.
Code:
#include <stdio.h>
int main()
{
char date[] = "02/16/05";
char quantity[] = "10";
char description[] = "t-shirt";
char price[] = "29.99";
printf("%-10s %-3s %-20s %-5s\n", "Date", "Qty", "Description", "Price");
printf("%-10s %-3s %-20s %-5s\n", "----", "---", "-----------", "-----");
printf("%-10s %-3s %-20s %-5s\n", date, quantity, description, price);
return 0;
}
/* my output
Date Qty Description Price
---- --- ----------- -----
02/16/05 10 t-shirt 29.99
*/