我正在尝试检查程序中的第二个参数是否是第一个参数的子字符串。问题是它只有在子字符串以字符串的相同字母开头时才有效。
编辑:必须用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;
}
答案 0 :(得分:2)
我正在做家庭作业,所以:看看subStart
初始化的内容。
答案 1 :(得分:1)
您的算法不正确。
你想要的是嵌套循环。循环遍历str
的长度,然后循环sub
的长度,看看是否从该位置开始匹配。
答案 2 :(得分:1)
您对问题的分析(“仅当子字符串以字符串的相同字母开头时才起作用”)不正确,因此您正在寻找错误的问题。由于这似乎是家庭作业,我只是暗示潜在的问题。
虽然Michigan
和igan
失败,但它可以正常使用Michigan
和higan
。
为什么它适用于higan
而非igan
? igan
的第一个字母是什么?在涉及Michigan
时,有什么不同?