lanluo773 2022-03-05 14:59 采纳率: 100%
浏览 14
已结题

请问各位这个问题出在哪

img


请问各位,这个哪里出了问题,为什么用变量n去限定长度会出错
附源代码:
#include
#include
using namespace std;
int main()
{
int i=1;
int n;
cin>>n;

string *p=new string [n];
while(i<=n)
{
    cin>>p[i];
    i++;
}
i=1;
while(i<=n)
{
    cout<<p[i]<<" ";
    i++;
}
 delete []p;
 return 0;

}#include
#include
using namespace std;
int main()
{
int i=1;
int n;
cin>>n;

string *p=new string [n];
while(i<=n)
{
    cin>>p[i];
    i++;
}
i=1;
while(i<=n)
{
    cout<<p[i]<<" ";
    i++;
}
 delete []p;
 return 0;

}

  • 写回答

1条回答 默认 最新

  • ·星辰大海 2022-03-05 15:51
    关注

    数组的下标应该从0开始,n个长度的数组下标应该是0~n-1,你可以尝试将i初始化为0,并且while的条件改为小于n

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 3月13日
  • 已采纳回答 3月5日
  • 创建了问题 3月5日