我正在用C语言编写一个微控制器,并且作为其一部分想要在7段显示器上显示某些字母.每个字母都有一个相应的数字,使7段显示显示字母.它没有真正的模式,因为数字只是通过将7段显示中的位加起来来显示字母所以如果我可以创建某种字典来实现这一点真的很好.
如果我正在使用C#或其他东西,我只需要制作一个字典,然后将字母作为键和数字添加为值,但据我所知,我不能在C中执行此操作.是否有其他方法可以执行此操作或执行此操作我应该写一个像int displayletter(char letter)这样的函数,它使用一堆if语句来返回正确的数字吗?
解决方法
你可以创建一个数组
int values[26];
并使用每个字母的值填充它,但是它们是经过计算的
然后创建一个接受一个字符并返回一个int的函数
int GetValueFromChar(char c) { return values[c - 'A']; }
这很简单,因为它假设您只使用ASCII字符集中的大写字母,但您应该明白这一点.