设为首页收藏本站

新微赢技术网

 找回密码
 注册
搜索
热搜: 回贴
查看: 1736|回复: 5
打印 上一主题 下一主题

看一下这个题的结果是否正确

[复制链接]
跳转到指定楼层
1#
发表于 2009-11-3 01:29:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include<iostream.h>
int a[8]={1,3,5,7,9,11,13};
void fun(int b[],int n)
{
for(int i=0;i<=n-1;i++)
b[7]+=b[i];
}
void main()
{
int m=8;
fun(a,m);
cout<<a[7]<<endl;
}
用vc6.0编译执行后结果为98
2#
发表于 2009-11-3 01:29:36 | 只看该作者
应该是49吧
回复 支持 反对

使用道具 举报

3#
发表于 2009-11-3 01:29:37 | 只看该作者
是98吧!当i=6时,b[7]=49;
i=7时,b[7]+=98吧。
回复 支持 反对

使用道具 举报

4#
发表于 2009-11-3 01:29:37 | 只看该作者
以下是引用yuxudaoren在2006-4-9 19:48:00的发言:
#include<iostream.h>
int a[8]={1,3,5,7,9,11,13};
void fun(int b[],int n)
{
for(int i=0;i<=n-1;i++)//不知道你得意图是什么如果是把数组里1,3,5,7,9,11,13加在一起得到b[7]的话这里多了一次循环,结果应该是49
b[7]+=b[i];
}
void main()
{
int m=8;
fun(a,m);
cout<<a[7]<<endl;
}
用vc6.0编译执行后结果为98
回复 支持 反对

使用道具 举报

5#
发表于 2009-11-3 01:29:38 | 只看该作者
int a[8]={1,3,5,7,9,11,13};
a[7]没有给显式赋值,因为数组a是全局的,系统默认为0.
for(int i=0;i<=n-1;i++) b[7]+=b[i];
结果应该是49
回复 支持 反对

使用道具 举报

6#
发表于 2009-11-3 01:29:39 | 只看该作者
以下是引用hnzzc在2006-4-26 23:48:00的发言:
int a[8]={1,3,5,7,9,11,13};
a[7]没有给显式赋值,因为数组a是全局的,系统默认为0.
for(int i=0;i<=n-1;i++) b[7]+=b[i];
结果应该是49


我觉得是这样的:
当i=7的时候进行了一次循环.是:b[7]+=b[7];
所以是98...
另外很不礼貌的建议楼主以后不管怎样都给数赋初值.虽然再windows下是0,但是再UNIX环境下是任意的一个数.要小心~
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

申请友链|小黑屋|最新主题|手机版|新微赢技术网 ( 苏ICP备08020429号 )  

GMT+8, 2024-11-18 00:06 , Processed in 0.095374 second(s), 9 queries , Gzip On, Memcache On.

Powered by xuexi

© 2001-2013 HaiAn.Com.Cn Inc. 寰耽

快速回复 返回顶部 返回列表