| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1277 人关注过本帖, 1 人收藏
标题:cout输出顺序~~请高手们帮帮忙!
取消只看楼主 加入收藏
Lo伊。琪
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2010-3-25
收藏(1)
 问题点数:0 回复次数:3 
cout输出顺序~~请高手们帮帮忙!
楼主
#include <iostream>
using namespace std;
int f(int a)
{
auto int b=0;  //auto可以省略
static int c=3;
b+=1;
c+=1;
return a+b+c;
}

int main()
{
int a=2,i;
/*for(i=0;i <3;i++)
cout < <f(a) < <" ";
cout < <endl;*/
cout < <f(a) < <" " < <f(a) < <" " < <f(a) < <endl;
return 0;
}

此时输出是9 8 7
而把注释的内容替换它下面的输入语句,输出是7 8 9
问题:请问高手,为什么同样调用3次f(a),输出顺序相反呢?
我用的是VC6.0
不胜感激
问题补充:
cout自右向左输出不对,如果定义int a,b,c;
a=1,b=2,c=3;
cout<<a<<b<<c<<endl;
输出123而不是321



#include<iostream.h>
//add()函数的定义,其有返回值
double add(double x,double y)
{
    double z;
    z=x+y;
    cout<<x<<"+"<<y<<"="<<z<<endl;
    return(z);
}

void main()
{
    double a=0.5,b=1.0,p;
   
    //以不同参数形式调用函数add()
    cout<<"add(a,b)="<<add(a,b)<<endl;
}
此时输出的结果:0.5+1=1.5
                add(a,b)=1.5
问题:为什么不是先输出cout<<"add(a,b)="<<add(a,b)<<endl;语句中的字符串常量"add(a,b)="再调用add()函数呢?请高手们给小弟指点指点,不胜感激啊!

  

 
搜索更多相关主题的帖子: 输出 顺序 cout 
2010-03-25 09:56
Lo伊。琪
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2010-3-25
收藏
得分:0 
回复 2楼 秀痘魔导士
非常感谢您的无私解答!小弟愚昧,还有点疑问哦,要是像您所说的,那我第一个程序的输出结果怎么会是:9 8 7 呢,可以再帮帮忙么。。
2010-03-25 22:59
Lo伊。琪
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2010-3-25
收藏
得分:0 
回复 5楼 秀痘魔导士
非常感谢您抽空帮小弟解答疑惑,我明白了。。。呵呵,谢谢您!
2010-03-26 12:51
Lo伊。琪
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2010-3-25
收藏
得分:0 
回复 4楼 风行
呵呵。。小弟懂了,谢谢您哦!
2010-03-26 12:52
快速回复:cout输出顺序~~请高手们帮帮忙!
数据加载中...
 
   



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

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