x1410732918 2019-05-13 02:22 采纳率: 0%
浏览 822

c++:将数组中的n个数按相反顺序存放(用指针实现)。有没有大佬帮我看看哪里出了问题

#include
using namespace std;
void inv(int *x, int n)
{ int *p, t, *i, *j, m=(n-1)/2;
i=x; j=x+n-1; p=x+m;

for (; i<=p; i++,j--)
{ t=*i; *i=*j; *j=t;}
}

int main( )
{ int i, n,a[n];
cout<<"输入个数:";
cin>>n;
for(i=0;i cin>>a[i];
inv(a,n);

for (i=0;i<n; i++)
cout<<a[i]<<" ";
return 0;
}
输入数字在五个以下的时候结果没问题,但是大于五个数字的时候结果就是错的,为什么啊?

  • 写回答

2条回答 默认 最新

  • threenewbee 2019-05-13 09:11
    关注

    int i, n,a[n];
    不要这么写
    因为你不知道n是多少
    可以用
    int i, n,a[100];

    评论

报告相同问题?

悬赏问题

  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料