c - 如何将 Unique int 值分配给字符串或字符?

标签 c mapping

<分区>

我想为字符分配整数值。其中“C”的值最小,“B”的值最大。

还有比映射更好的东西吗?

例如:-'C'=100,'D'=101,'E'=102....'B'=126.有比映射更好的方法吗? 如果输入字符串是“BYE”,输出应该是351(因为'B'=126,'Y'=123,E='102')。

最佳答案

您可以使用指定的数组初始值设定项:

// UCHAR_MAX is from header <limits.h>
int const map[UCHAR_MAX] = {
    ['C'] = 100,
    ['D'] = 101,
    ['B'] = 126,
};

未分配的字符将具有零值。

然后您将通过表达式获得单个值:

int value = map[(unsigned char)character];

关于c - 如何将 Unique int 值分配给字符串或字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54328808/

相关文章:

C:检查文件大小

c - 我的这段 C 代码有什么错误?这是一个需要使用FILE处理和BST的图书馆目录

c - 为什么我的程序会跳过 gets() 函数?

java - 在 Hibernate 环境中动态创建表

c# - 如何在 AutoMapper 中全局使用忽略?

java - Dozer 映射到现有对象非空字段

ios - 从 Objective-C 调用 C 函数 - 传递大量数据

Elasticsearch 关系映射(一对一和一对多)

java - Orika - 将对象(源)映射到对象(目标)的集合(集合)

c - 在 for 循环中一遍又一遍地创建和连接线程 (C)