我想刪除重複在此代碼:如何在C中創建對的列表?
printf("%.2f: %s\n", 440.00f, "A4");
printf("%.2f: %s\n", 523.25f, "C5");
printf("%.2f: %s\n", 880.00f, "A5");
printf("%.2f: %s\n", 1046.50f, "C6");
我的計劃是要對和循環在它的列表。這是可能的,一個好的解決方案,還是我應該製作兩個陣列?
我想刪除重複在此代碼:如何在C中創建對的列表?
printf("%.2f: %s\n", 440.00f, "A4");
printf("%.2f: %s\n", 523.25f, "C5");
printf("%.2f: %s\n", 880.00f, "A5");
printf("%.2f: %s\n", 1046.50f, "C6");
我的計劃是要對和循環在它的列表。這是可能的,一個好的解決方案,還是我應該製作兩個陣列?
只是要結構的數組:
struct pair {
double num;
char str[32];
};
struct pair pairs[10] = {
{440.00f, "A4"},
{523.25f, "C5"},
/* ... */
};
/* C99. */
pairs[2] = (struct pair){880.00f, "A5"};
pairs[3] = (struct pair){
.str = "C6",
.num = 1046.50f
};
for (i = 0; i < sizeof(pairs)/sizeof(pairs[0]); i++)
printf("%.2f: %s\n", pairs[i].num, pairs[i].str);
你也可以配成對的一個數組。取決於你如何獲得你的數據。 – Mat
@Mat:我的問題是_how_製作一組數字:) – Andreas