Попробуйте следующим образом:
#include <stdlib.h>
#include <stdio.h>
#define CURRENCY "$"
struct Bill {
char* item;
double amount;
};
enum {
BUF_SIZE = 16
};
int main(void)
{
char buf[BUF_SIZE];
struct Bill bill[] = {
{"First:", 123.45},
{"Second:", 0.50},
{"Third:", 123456.78}
};
for (size_t i = 0; i < sizeof(bill) / sizeof(struct Bill); i++) {
snprintf(buf, sizeof(buf), CURRENCY " %.2f", bill[i].amount);
printf("%-10s %16s\n", bill[i].item, buf);
}
return EXIT_SUCCESS;
}
Таким образом, вы можете получить:
First: $ 123.45
Second: $ 0.50
Third: $ 123456.78