检查字符串的子字符串

时间:2010-05-11 20:40:21

标签: c string substring arrays

我正在尝试检查程序中的第二个参数是否是第一个参数的子字符串。问题是它只有在子字符串以字符串的相同字母开头时才有效。

编辑:必须用C语言完成,而不是C ++。

int main(int argc, char **argv){

    if (argc != 3) {
        printf ("Usage: check <string one> <string two>\n");
    }

    int result = my_strstr(argv[1], argv[2]);

    if(result == 1){
        printf("%s is a substring of %s\n", argv[2], argv[1]);
    }
    else{
        printf("%s is not a substring of %s\n", argv[2], argv[1]);
    }
    return 0;
}

3 个答案:

答案 0 :(得分:2)

我正在做家庭作业,所以:看看subStart初始化的内容。

答案 1 :(得分:1)

您的算法不正确。

你想要的是嵌套循环。循环遍历str的长度,然后循环sub的长度,看看是否从该位置开始匹配。

答案 2 :(得分:1)

您对问题的分析(“仅当子字符串以字符串的相同字母开头时才起作用”)不正确,因此您正在寻找错误的问题。由于这似乎是家庭作业,我只是暗示潜在的问题。

虽然Michiganigan失败,但它可以正常使用Michiganhigan

为什么它适用于higan而非iganigan的第一个字母是什么?在涉及Michigan时,有什么不同?

相关问题