【发布时间】:2018-04-30 16:36:17
【问题描述】:
我在某处找到了这段代码,它用于字符串检查验证中的最后一个字。它运作良好,但你会如何解释呢?
int endWord(char input[], char correctWord[])
{
if(strlen(input) < strlen(correctWord)) return 0;
else
{
if(strcmp(input + (strlen(input) - strlen(correctWord)), correctWord) == 0) return 1;
else return 0;
}
}
【问题讨论】:
-
如果
correctWord内容与input中的最后一个子字符串匹配,则计算得出它必须在input中的位置,即strlen(correctWord)字符之前input的终止符。但如果strlen(correctWord)>strlen(input)会失败。 -
感谢您的回答
-
当你删除问题时,我正在写一个更完整的答案!
-
我觉得理解就够了
-
如果问题在准备好之前就消失了,这让我不愿意花时间回答。
标签: c validation