我想删除这段代码中的重复:
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);
关于c - 如何在 C 中制作成对列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7944168/