我正在用C语言编写一个微控制器,并且作为其一部分想要在7段显示器上显示某些字母。每个字母都有一个相应的数字,使7段显示显示字母。它没有真正的模式,因为这个数字只是通过将7段显示中的位相加来显示字母,所以如果我能创建某种字典来实现这一点真的很好。
如果我正在使用C#或其他东西,我只需要制作一个字典,然后将字母作为键和数字添加为值,但据我所知,我不能在C中执行此操作。还有其他方法可以做或者我应该写一个像int displayletter(char letter)
这样的函数,它使用一堆if语句来返回正确的数字?
答案 0 :(得分:6)
你可以创建一个数组
int values[26];
并用每个字母的值填充它,但是它们是计算的
然后创建一个带字符的函数并返回一个int
int GetValueFromChar(char c)
{
return values[c - 'A'];
}
这很简单,因为它假设你只使用ASCII字符集中的大写字母,但你应该明白这一点。
答案 1 :(得分:0)
最简单的方法就是使用函数和switch语句......我相信为此目的,switch语句非常有效。我还把Judy库作为一个很好的用于高效映射的库,但它对此有点过分。