acm2018显示Runtime Error(ACCESS_VIOLATION)

发布网友 发布时间: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就通过了啊。

追答应该是测试数据里边没有相应的数据吧,看来测试数据不够严谨。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com