下面的程序 写法有点繁琐,能不能换其它写法。
u8 table1[4]={0x12,0x34,0x56,0x78};
u8 table2[4]={0x12,0x34,0x56,0x78};
u8 table3[4]={0x12,0x34,0x56,0x78};
u8 table4[4]={0x12,0x34,0x56,0x78};
u8 test(u8 sel1,u8 s2)
{
u8 temp1;
if(sel1==0)temp1=table1[s2];
else if(sel1==1)temp1=table2[s2];
else if(sel1==2)temp1=table3[s2];
else if(sel1==3)temp1=table4[s2];
return temp1;
}
回答不易,有用请采纳:
可以使用数组指针来简化代码,代码如下:
u8 table1[4]={0x12,0x34,0x56,0x78};
u8 table2[4]={0x12,0x34,0x56,0x78};
u8 table3[4]={0x12,0x34,0x56,0x78};
u8 table4[4]={0x12,0x34,0x56,0x78};
u8 test(u8 sel1,u8 s2)
{
u8* tables[4] = {table1, table2, table3, table4};
return tables[sel1][s2];
}