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];

    评论

报告相同问题?

悬赏问题

  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏
  • ¥15 模糊pid与pid仿真结果几乎一样
  • ¥15 java的GUI的运用
  • ¥15 Web.config连不上数据库
  • ¥15 我想付费需要AKM公司DSP开发资料及相关开发。
  • ¥15 怎么配置广告联盟瀑布流
  • ¥15 Rstudio 保存代码闪退
  • ¥20 win系统的PYQT程序生成的数据如何放入云服务器阿里云window版?
  • ¥50 invest生境质量模块
  • ¥15 nhanes加权logistic回归,svyglm函数