我正在研究一些解析日志数据的代码,这部分特别用于将一个月的小数形式转换为人类形式(因此1将是jan),为了实现这一点,我试图使用一个for循环和if语句的组合,并且认为我可以简单地使用变量作为语句的数字来检索数组单元格,但它没有按预期工作,所以如果有人可以就如何提供建议我能做到这一点我真的很感激,谢谢! (这是代码的主要部分)
for ( x = 0; x < 11; x++ ) {
int altint = 1 + x;
if ( dmon == altint ) {
printf( "%s\n", field_month[x] );
{break;}
}
}
答案 0 :(得分:2)
只是printf("%s",field_month[dmon])
或field_month[dmon-1]
,因为它取决于您的月份名称数组?
答案 1 :(得分:2)
我想建议您不使用for
循环,而是直接查找您想要的元素:
printf("%s\n", field_month[dmon]);
如果您的dmon
为1个索引({{1>} 1月,...,1
12月),那么稍有改变:
12
答案 2 :(得分:0)
您的for循环可以优化为:
if (dmon >= 1 && dmon <= 12)
{
printf("%s\n", field_month[dmon]);
}
因为它唯一真正做的就是阻止使用无效的索引来访问你的数组......