undeclared identifier怎么错了????

来源:百度知道 编辑:UC知道 时间:2024/05/15 23:29:17
#include<iostream>
using namespace std;

int find_substr(char *sub,char *str);

int main()
{
int index;

index = find_substr("there","one two three four");

cout<< "Index of three is"<<index;//下标是8

return 0;
}

//如果到找子字符串,则返回匹配子字符串的起始下标,否则返回-1.
int find_substr(char *sub,char *str)
{
int t;
char *p, *p2;

for(t=0;str[t];t++) {
p = &str[t]; //指针复位
p2 = sub;
while(*p2 && *p2==*P) {//检测子字符串
p++;
p2++;
}

//如果p2指向子字符串的末尾,那么就找到一个匹配的子字符串
if(!*p2) return t;//返回匹配子字符串的起始下标
}
return -1; //没有找到匹配的字符串
}
这个程序是怎么错了
请高手指点一下
谢了

报错时,说哪个变量是“undeclared identifier”?双击一下报错的句子,看看在哪里出的错...

while(*p2 && *p2==*P)
这里把你的大写的P改成小写就行了