| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 825 人关注过本帖
标题:分析下列程序的输出结果
只看楼主 加入收藏
realll
Rank: 1
等 级:新手上路
帖 子:55
专家分:4
注 册:2009-7-23
结帖率:88.89%
收藏
已结贴  问题点数:20 回复次数:4 
分析下列程序的输出结果
1.#include<iostream.h>
#define N 5
void fun();
void main()
{
for (int i(1);i<N;i++)
fun();
}
void fun ()
{
static int a;
int b(2);
cout<<(a+=3,a+b)<<endl;
}

答案是输出结果
5
8
11
14

可是我用VC编译····下 输出结果为5

想知道 如果输出结果像答案那样 ,代码应该怎么修改??
多谢多谢
搜索更多相关主题的帖子: 结果 输出 
2010-05-22 17:03
wangzhsh
Rank: 1
等 级:新手上路
帖 子:7
专家分:7
注 册:2010-5-21
收藏
得分:5 
回复 楼主 realll
程序没有错!!结果也对。。。
我试过了~~~~~
2010-05-22 17:57
xiaomizhou
Rank: 1
等 级:新手上路
帖 子:1
专家分:5
注 册:2010-5-22
收藏
得分:5 
这是一个考察静态变量的程序,程序没错,答案也正确。
2010-05-22 21:56
最近不在
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:5
帖 子:204
专家分:842
注 册:2010-2-28
收藏
得分:5 
程序代码:
#include<iostream.h>
#define N 5
void fun();
void main()
{
for (int i(1);i<N;i++)
fun();
}
void fun ()
{
static int a;    //静态变量,默认初始化为0
int b(2);
cout<<(a+=3,a+b)<<endl;   // (a += 3, a+b)    逗号运算符,结果取最右边的值作为表达式的值。 
}                            //a += 3;  则a = 3。a+b; 则值为5  //由于a为静态变量,下次进入该函数体,a开始为3      
2010-05-23 11:05
yjj634041926
Rank: 2
等 级:论坛游民
帖 子:36
专家分:76
注 册:2010-4-15
收藏
得分:5 
可能是你的软件出了点小问题吧
   我运行的结果也是对 的。。。。。
2010-05-23 15:14
快速回复:分析下列程序的输出结果
数据加载中...
 
   



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

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