阅读量:0
在C语言中,可以使用数组或者结构体来建立对照表。
- 使用数组: 可以使用一个二维数组来建立对照表。其中,第一维表示需要对照的元素的索引,第二维表示对应的值。例如,建立一个字符到整数的对照表,可以使用如下代码:
#include <stdio.h> int main() { char chars[] = {'a', 'b', 'c', 'd', 'e'}; int nums[] = {1, 2, 3, 4, 5}; int length = sizeof(chars) / sizeof(chars[0]); char input = 'c'; int output; for (int i = 0; i < length; i++) { if (chars[i] == input) { output = nums[i]; break; } } printf("%d\n", output); // 输出3 return 0; }
- 使用结构体: 可以使用一个结构体来存储需要对照的元素和对应的值。例如,建立一个字符串到颜色的对照表,可以使用如下代码:
#include <stdio.h> #include <string.h> typedef struct { char* str; char* color; } Mapping; int main() { Mapping mappings[] = { {"apple", "red"}, {"banana", "yellow"}, {"orange", "orange"} }; int length = sizeof(mappings) / sizeof(mappings[0]); char* input = "banana"; char* output; for (int i = 0; i < length; i++) { if (strcmp(mappings[i].str, input) == 0) { output = mappings[i].color; break; } } printf("%s\n", output); // 输出yellow return 0; }
通过以上两种方式,就可以建立C语言中的对照表。使用数组可以更方便地通过索引访问对应的值,而使用结构体可以更方便地通过关键字进行查找。具体使用哪种方式,可以根据具体的需求来选择。