一个奇怪的问题

yanransoft 2005-05-28 04:54:26
#include <iostream>
int main()
{
int temp, n = 10;
int *x = new int[n];

for (int j=0;j<10;j++)
{
x[j]=j+1;
}

for(int i=0;i<n;i++)
{
temp=x[i]; //<-这里有问题,temp的值一直不变
x[i]=x[n-1-i];
x[n-1-i]=temp;
}

for (int j=0;j<10;j++)
{
std::cout<<x[j]<<std::endl;
}
int in;
std::cin>>in;
}

我遇到了一个奇怪的问题:
在程序中,已进入循环体查看i的值,发现是10,而且temp的值一直不变。。
...全文
77 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
wytianjiao 2005-05-28
  • 打赏
  • 举报
回复
//在本例中以数组名作为传给函数的参数
#include <iostream.h>
void transpose(int x[],int n);

void main()
{
int a[6]={1,2,3,4,5,6};
int i;
// cout<<sizeof(a);
cout<<"原数组为:";

for(i=0;i<6;i++)
cout<<'\t'<<a[i];
cout<<endl;
transpose(a,6);//参数为数组名
cout<<"逆置后:";
for(i=0;i<6;i++)
cout<<'\t'<<a[i];
cout<<endl;
}

void transpose(int x[ ],int n)
{
int temp,count=0; //去掉对i的声明
for(int i=0;i<n;i++,n--)
{
count++;
temp=x[i];
x[i]=x[n-1];
x[n-1]=temp;
cout<<"转置的过程"<<count<<":\t\t";
for(int j=0;j<6;j++)
cout<<x[j];
cout<<endl;
}
}

刚刚发现用这种同步输出的方法,就能看出来哪里不对了,呵呵,长见识啦
wytianjiao 2005-05-28
  • 打赏
  • 举报
回复
#include <iostream.h>
void transpose(int x[],int n);

void main()
{
int a[6]={1,2,3,4,5,6};
int i;
// cout<<sizeof(a);
cout<<"原数组为:";

for(i=0;i<6;i++)
cout<<'\t'<<a[i];
cout<<endl;
transpose(a,6);//参数为数组名
cout<<"逆置后:";
for(i=0;i<6;i++)
cout<<'\t'<<a[i];
cout<<endl;
}

void transpose(int x[ ],int n)
{
int temp,count=0; //去掉对i的声明
for(int i=0;i<n;i++)
{
count++;
temp=x[i];
x[i]=x[n-1-i];
x[n-1-i]=temp;
cout<<"转置的过程"<<count<<":\t\t";
for(int j=0;j<6;j++)
cout<<x[j];
cout<<endl;
}
}
foochow 2005-05-28
  • 打赏
  • 举报
回复
#include<iostream>
using namespace std;
int main()
{
int i,j;
int temp, n = 10;
int *x = new int[n];

for (j=0;j<n;j++)
{
x[j]=j+1;
}

for(i=0;i<5;i++)//这里改成这样..OK
{
temp=x[i];
x[i]=x[n-1-i];
x[n-1-i]=temp;
}

for (j=0;j<10;j++)
{
std::cout<<x[j]<<std::endl;
}
int in;
std::cin>>in;
return 0;
}
skyfine 2005-05-28
  • 打赏
  • 举报
回复
有变呀。只是你 的程序逻辑有问题
for(int i=0;i<n;i++) //改成for(int i=0;i<n/2;i++)
baojian88888 2005-05-28
  • 打赏
  • 举报
回复
好像没有看到什么问题
不过你那个交换,好像交换过去又交换回来了

64,637

社区成员

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

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