关于数组指针的c++程序,不知道为什么错了

#include
#include
using namespace std;
int main(){
char str1[80], str2[80];
char pc1 = str1, *pc2 = str2;
cin >> pc1 >> pc2;
char a[80][80];
for (unsigned i = 0; i<strlen(str1) - strlen(str2) + 1; i++){
for (unsigned j = 0; j<strlen(str2); j++)
a[i][j] = *(pc1 + i + j);
}
char(*pa)[80];
pa = a;
for (unsigned i = 0; i<strlen(str1) - strlen(str2) + 1; i++){
if (strcmp(
(pa + i), str2) == 0)
cout << str1[i];

}

}

http://www.cnblogs.com/dolphin0520/archive/2011/11/09/2242138.html

这样改没有error了,只是不知道要求获得什么结果?

 #include <iostream>
#include "string.h"
using namespace std;
int main(){
char str1[80], str2[80];
char *pc1 = str1;
char *pc2 = str2;
cin >> pc1 >> pc2;
char a[80][80];
for (unsigned i = 0; i<strlen(str1) - strlen(str2) + 1; i++){
for (unsigned j = 0; j<strlen(str2); j++)
a[i][j] = *(pc1 + i + j);
}
char (*pa)[80];
pa = a;
for (unsigned i = 0; i<strlen(str1) - strlen(str2) + 1; i++){
if (strcmp((*pa + i), str2) == 0)
cout << str1[i];
}
}

你的pc1和pc2是地址,并不是变量,你输入进去根本不知道指到哪里了