| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 517 人关注过本帖
标题:怎么换个行输出就不一样了啊?
只看楼主 加入收藏
birdfling
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2006-4-1
收藏
 问题点数:0 回复次数:5 
怎么换个行输出就不一样了啊?
#include<iostream>
using namespace std;
int main()
{
int a,b;
a=9;
b=10;
cout<<a++<<endl<<" "<<++a<<" "<<a<<endl;
cout<<a<<endl;
cout<<b--<<" "<<--b<<" "<<b<<endl;
cout<<b<<endl;
return 0;
}


高手请指导一下了!
搜索更多相关主题的帖子: 输出 
2006-04-13 14:00
farderce
Rank: 1
来 自:上海
等 级:新手上路
帖 子:146
专家分:3
注 册:2006-1-11
收藏
得分:0 

呵呵 我想你肯定是没好好的看书 或是没多花时间上机调试
]作为输出关键字,当要输出一个程序结果时 基本上是按cout 的顺序、输出的 当然换个位置后 所输出的结果不一样的 但它打印出的结果的逻辑性还是正确的!

2006-04-13 14:49
Magicmoon20
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2006-4-2
收藏
得分:0 

照一楼的老兄说的程序本应该输出的结果是
9 11 11
11
10 8 8
8

但是我在机器上运行了一下出现的结果却是
10 10 9
11
9 9 10
8
这是为什么呀


2006-04-24 22:02
aogun
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:638
专家分:0
注 册:2006-4-5
收藏
得分:0 
楼上对于基本概念弄错了,一条代码的执行是从右至左运行的,也就是说下面语句:
cout<<a++<<endl<<" "<<++a<<" "<<a<<endl;
首先是输出a,接着执行++a,使得a的值变为10然后输出,然后再执行a++,输出10然后将a加到11
这个过程完成后,cout将其按照程序书写的顺序输出,所以输出是:
10 10 9

世界上总共有 10 种人,一种懂得什么是二进制 ,一种不懂。
2006-04-25 10:37
zwfc
Rank: 1
等 级:新手上路
帖 子:65
专家分:0
注 册:2005-10-17
收藏
得分:0 
我也去机子上试过了。运行结果如下:
9
11 11
11
10 8 8
8
并没有什么不一样嘛。
我觉得楼主是不是对 ++,-- 操作还不怎么理解。我认为:++,--如果前置,如++a, 那么就先计算a=a+1,再输出a的值;反之,如果后置,如a++,那么就先输出a的值,再计算a=a+1。
而cout的顺序还是自左向右的。

2006-04-25 11:57
song4
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:38
帖 子:1533
专家分:4
注 册:2006-3-25
收藏
得分:0 
各种版本cout输出顺序不同

嵌入式 ARM 单片机 驱动 RT操作系统 J2ME LINUX  Symbian C C++ 数据结构 JAVA Oracle 设计模式 软件工程 JSP
2006-04-25 12:47
快速回复:怎么换个行输出就不一样了啊?
数据加载中...
 
   



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

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