数组元素倒置 不成功

何牧晗 2009-06-19 12:12:33
结果还是正序输出的。

#include <iostream>
using namespace std;
int main()
{
int array[]={1,2,3,4,5,6,7,8,9};
int size=sizeof(array)/sizeof(int)-1;
for(int i=0;i<=size;i++)
{
int temp=array[i];
array[i]=array[size-i];
array[size-i]=temp;
}
for(int j=0;j<=size;j++)
{
cout<<array[j]<<endl;
}
return 0;
}
...全文
81 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
andylovecandy 2009-06-19
  • 打赏
  • 举报
回复
1楼正解!
andylovecandy 2009-06-19
  • 打赏
  • 举报
回复
第一个循环应该到size/2
Walf_ghoul 2009-06-19
  • 打赏
  • 举报
回复

#include <iostream>
using namespace std;
int main()
{
int array[]={1,2,3,4,5,6,7,8,9};
int temp = 0;
int size=sizeof(array)/sizeof(int); //这里不需减一
for(int i=0;i < (size-1)/2;i++) //循环次数错了,若i<size,那么相当于对数组转置了两次
{
temp=array[i];
array[i]=array[size-i-1];
array[size-i-1]=temp;
}
for(int j=0;j < size;j++)
{
cout <<array[j] <<endl;
}
return 0;
}



结果:
9
8
7
6
5
4
3
2
1

Process returned 0 (0x0) execution time : 0.000 s
Press any key to continue.

65,211

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧