用c语言查表

用c语言查表,c,C,我有一个查找表: 字符*表[ascii][morse] 其中,ascii是一个整数(表示ascii字母),morse是一个长度为4+1的字符串(用于添加空值)。这是一个查找表,在某种程度上,您要求字母0=a,它应该返回它的莫尔斯表示 如果我有 a。(例如)在文件中。 我想把它添加到查找表中,其中索引(ascii)=0我该怎么做。 另外,如何将查找表中的所有信息打印为:0>。-。等等 如果你不明白这个问题,请告诉我如何进一步解释:) 我现在在look表中放置字符的代码是(这是错误的): 请注意,L

我有一个查找表:

字符*表[ascii][morse]

其中,ascii是一个整数(表示ascii字母),morse是一个长度为4+1的字符串(用于添加空值)。这是一个查找表,在某种程度上,您要求字母0=a,它应该返回它的莫尔斯表示

如果我有 a。(例如)在文件中。 我想把它添加到查找表中,其中索引(ascii)=0我该怎么做。 另外,如何将查找表中的所有信息打印为:0>。-。等等

如果你不明白这个问题,请告诉我如何进一步解释:)

我现在在look表中放置字符的代码是(这是错误的):

请注意,Lookuptable是一个结构,我必须让相同的变量通过这种方式传递给我的函数

strcpy(table->table[(int)ascii],morsepassed)
似乎是实现这一点的方法(“index”应该设置为什么?可能设置为
(int)ascii
?我看不出重点)。

strcpy(table->table->table><[(int)ascii],morsepassed)
似乎是实现这一点的方法(“索引”应该设置为什么?可能设置为
(int)ascii
?我看不出重点)。

table->table[index][5] = copy;
这是错误的——在C中没有以这种方式复制字符串。这有帮助吗?您还忘了初始化“index”。

table->table[index][5] = copy;
是错误的——在C中,您没有以这种方式复制字符串。这有帮助吗?您还忘记了初始化“index”。

您的变量“copy”在堆栈上,当函数退出时,它将消失,并且您的指针将指向垃圾

您需要使用malloc和free来分配您的摩尔斯电码字符串,或者使用固定大小的字符数组并直接复制到该字符串中。

您的变量“copy”位于堆栈上,当函数退出时它将消失,并且您的指针将指向垃圾


您需要使用malloc和free来分配您的摩尔斯电码字符串,或者使用固定大小的字符数组并直接复制到该字符串中。

您的表的定义稍有错误。您有:

char *table[ascii][morse];
其中(假定“ascii”为26,“morse”为5)是一个包含26*5个指向字符的指针的表。实际上,您只需要26*5个字符(字母表中每个字母对应5个字符):

然后,您可以更改函数以使用该函数将值复制到表中:

strcpy(table->table[index], morsepassed);

表的定义稍有错误。您有以下问题:

char *table[ascii][morse];
其中(假定“ascii”为26,“morse”为5)是一个包含26*5个指向字符的指针的表。实际上,您只需要26*5个字符(字母表中每个字母对应5个字符):

然后,您可以更改函数以使用该函数将值复制到表中:

strcpy(table->table[index], morsepassed);