

想知道这个程序问题出在哪里啊就是想用指针移除数组的第三个元素,但是运行以后在最后会打印出一个问号,问了AI说是乱码,这是为什么?⊙ω⊙


你报错的原因估计是因为p[j+1]导致数组越界,因为循环是j<6,你这样写会出现输出p[7]的情况,还有你移除数组第三个元素的思路有些问题,
#include<iostream>
using namespace std;
int main()
{
char *p=new char[6];
for(int i=0;i<6;i++)
cin>>p[i];
for(int j=0;j<6;j++)
{
if(j==2)
continue;//你不想输出第三个元素,就直接跳过p[2]就好,
cout<<p[j]<<" ";
}
delete []p;
return 0;
}