你s1定位成了char,就只能保存一个字符,应该定义成char数组,或者string类型
不能只定义char *p,指针必须初始化的,如果一开始不知道要指向哪里,可以定义成char *p=nullptr
供参考
#include <iostream>
using namespace std;
int main()
{
int i, j;
char s1[15], * p = s1, s2[15];
cin >> s1;
for (i = 0; *(p + i); i++)
s2[i] = *(p + i);
for (j = 0; j<strlen(s1); j++)
cout<<s2[j];
return 0;
}