将整数值分配给字母

Assigning integer values to letters

本文关键字:分配 整数      更新时间:2023-10-16

是否可以将整数值分配给'a'之类的字母?例如,如果用户输入" A",我想显示分配给它的值(例如,1)。我计划为字母内的每个字母分配一个值。我发现您可以使用地图库进行操作,但我不想使用任何库。有没有一种方法可以使用基本的C 东西?

一种非常简单的方法是通过索引来关联一个简单的原始数组:

char char_num_slots[] = { '' /* associates to index 0 */
                        , 'A' /* associates to index 1 */
                        , 'C' /* associates to index 2 */
                        , 'K' /* associates to index 3 */
                        // aso ...
                        };

不过,C 的自然方法是使用std::map<char,int>

std::map<char,int> char_num_slots = { { 'A', 1 }
                                    , { 'C', 42 }
                                    , { 'K', 512 }
                                    // aso ...
                                    };

我认为,在上面显示的方法中的区别在哪里很明显,以及使用std::map如何优越。

有没有一种方法可以使用基本的C 东西?

是的,使用std::map计数为C 基本内容,是C 标准的一部分。