发布网友 发布时间:2022-04-24 13:56
共1个回答
热心网友 时间:2023-10-15 08:48
假设现在n是 1 ,那么int *p=new int[n+2];后,数组p的大小就是3,你看下面的声明
p[1]=1;
p[2]=2;
p[3]=3;
因为数组大小只有3,下标只能取到2,而声明了 p[3]=3;所以会下标越界,返回错误信息
Runtime Error(ACCESS_VIOLATION)。
满意请采纳哈。追问我说的是n+2时通过了,但是n+1没通过,我知道你的意思啊,但是如果按照你的意思,应该至少n+3才能通过,可是n+2就通过了啊。
追答应该是测试数据里边没有相应的数据吧,看来测试数据不够严谨。