| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 818 人关注过本帖
标题:想不明白的一个问题
取消只看楼主 加入收藏
恶魔会哭泣
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2007-8-25
收藏
 问题点数:0 回复次数:1 
想不明白的一个问题

求教:

下面的代码为什么会出现数组的值发生改变?temp=a[9-n];只是把值给temp,并没有改变过数组里面的

值啊,怎么前后输出数组a中的值不一样呢?此代码并没有实现什么,只是我不明白为什么。

#include"iostream.h"
int main()
{
int n,temp,a[9];
for(int i=1;i<=9;i++)
{
a[i]=i;
}
for(i=1;i<=9;i++)
{
cout<<a[i];
}

cin>>n;
temp=a[9-n];

for(i=1;i<=9;i++)
{
cout<<a[i];
}
cout<<endl;

return 0;
}

搜索更多相关主题的帖子: include 
2007-08-25 23:53
恶魔会哭泣
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2007-8-25
收藏
得分:0 
感谢大家的教导,经过大家的解说得出问题所在,也就是因为数组下标是从0开始,而我的数组是定义为a[9],也就是说只有a[0],a[1],a[2],a[3].......a[8](能存储9个数);而当我用for循环的时候把i=9的时候给了数组a的下标,而数组a并没有a[9]这个地址,所以不能成功把9赋值给a[9]地址,所以用到的a[9]的值是随机的。

不知道这样总结可以不~~~~~~
2007-08-26 13:13
快速回复:想不明白的一个问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015207 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved