SO,
我有一个char **;这本质上是一个带有指向该句中每个单词的指针的句子;即
'h''i''\0''w''o''r''l''d''\0''y''a''y''!''\0'
我希望在这种情况下提取最后一个char *(yay!),其功能可以接受不同单词数量和字母数量的句子。有任何想法吗?到目前为止,我发现了一些类似的东西,但没有一个完成这个功能的库函数。
答案 0 :(得分:3)
当您将值分配给char **
时,如何跟踪最后一个字?问题的答案依赖于此。您可以使用终端值,例如。最后一个单词后的NULL
值,然后搜索strlen
之类的终值,或者您可以将长度存储在size_t
变量中。如果没有关于您目前编写的代码的进一步信息,我无法确定哪一个适用于您。
答案 1 :(得分:0)
为此使用适当的数据结构。例如:
struct sentence {
size_t word_count;
char** words;
};
然后你总能在O(1)时间内找到最后一个单词:
struct sentence blah;
// ...
char* last_word = blah.words[blah.word_count - 1];