我有一组数字及其对应的字符串
1 - >关闭
2 - > Hibernet
3 - >睡眠
4 - >重新启动
5 - >锁
此列表可以将更大的数字映射到字符串
我很高兴知道通过使用C程序可以实现这一点的任何方式,我认为如果可以通过面向对象的C#,C ++轻松实现。我认为放#define
很难。
输入为整数并返回相应的字符串值。如果我们可以使它非常有效,那将是非常有帮助的,因为我们可能会遇到这么多次。
答案 0 :(得分:1)
如果数字是连续的并且接近于0,那么自然解决方案(在许多编程语言中)就是使用数组:
const char *strings[] = { "Shutdown", "Hibernet", "Sleep", "Restart", "Lock" };
printf("Look, the second string is %s\n", strings[1]);
这将打印Hibernet
。唯一需要注意的是C数组索引是从0开始的。
如果数字是“到处都是”,则需要一个不同的解决方案,可能是二叉树,或者只是一个可以进行二进制搜索的排序数组。像这样的数据类型没有内置到C中,您必须使用库或自己实现它们。