【发布时间】:2021-10-10 22:26:47
【问题描述】:
我的 isSubstring 算法不起作用有什么原因吗?它与此处提供的算法相同:https://www.geeksforgeeks.org/check-string-substring-another/ 但始终返回 2,即使它们在我眼中是相同的子字符串。
int main()
{
char substring[] = "New York";
char stringVal[] = "Joshua,New York,Engineer";
int M = sizeof(substring);
int N = sizeof(stringVal);
#pragma clang loop unroll(full)
for (int i = 0; i <= N - M; i++) {
int j;
for (j = 0; j < M; j++) {
if (stringVal[i + j] != substring[j]){
break;
}
}
if (j == M) {
printf("%d", 1);
return 1;
}
}
printf("%d", 2);
return -1;
}
【问题讨论】:
-
它怎么可能返回 2?根据代码,此函数返回 1 或 -1。 ?????
-
@BobJarvis:我猜 OP 的意思是“打印”而不是“返回”。但是,OP 应该在问题中澄清这一点。
标签: c algorithm for-loop substring c-strings