【发布时间】:2021-08-13 04:17:26
【问题描述】:
我想根据每个单词中的第一个字母来存储从数组中的文本中获取的单词。 所有带有“a”的单词都将存放在第一种情况下,带有“b”的单词将存放在第二种情况下...... 我不知道如何将字符转换为索引以便将其存储在数组中。
例子:
T[26]
如果单词的第一个字母是'a',那么这个单词应该在第一种情况下被存储:
T[1]=单词。
为避免出现问题,我使用函数 strlwr 将文本转换为小写形式(小写),因此所有字符都根据 ASCII 码从 97 开始。
【问题讨论】:
-
数组从索引 0 开始,因此
T[26]的有效索引为 0-25。您可以通过从被测字母('a' - 'a' == 0、'b' - 'a' == 1等)中减去'a'来索引数组 -
@yanis 在 C 中的索引从 0 开始,而不是从 1 开始。
-
所以我的工作是这样的:i=word[1]-'a' / T[i]=word /(word[i] 是单词中的第一个字符)/ 非常感谢兄弟
-
你真的不需要转换任何东西。如果
word是您要放入数组的单词,您希望将单词推送到T[word[0] - 'a']。 (不清楚你将如何“储存”这些单词。T 是一个列表数组吗?) -
如果
"apples"和"ants"都是以'a'开头的单词,你会怎么做?
标签: arrays c pointers char ascii