| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 854 人关注过本帖
标题:[求助]结合性的问题
只看楼主 加入收藏
zsbliuzhen
Rank: 1
等 级:新手上路
帖 子:55
专家分:0
注 册:2007-8-2
收藏
 问题点数:0 回复次数:12 
[求助]结合性的问题
PS:书上根本没写过自增自减与结合性的问题
问题如下
#include"stdio.h"
main()
{
int i=8;
printf("%d%d\n",i,i++);
}
结果为88
由此判断结合性由左向右
#include"stdio.h"
main()
{
int i=8;
printf("%d%d\n",i++,--i);
}
结果为77
由此判断为从右往左
在次暂时可以理解前缀的优先性大于后缀的
#include"stdio.h"
main()
{
int i=8;
printf("%d%d%d",++i,--i,++i);
}
结果989
貌似全为前缀的时候,结合性从右往左来
#include"stdio.h"
main()
{
int i=8;
printf("%d%d%d%d",--i,i--,++i,i++);
}
结果8998
汗,晕了。。。。。。。。。
#include"stdio.h"
main()
{
int i=8;
printf("%d%d%d",i++,i++,i++);
}
结果888
竟然没干活。。。。
#include"stdio.h"
main()
{
int i=8;
printf("%d%d%d",++i,++i,++i);
}
结果11109
很勤快,从右往左;
#include"stdio.h"
main()
int i=8;
printf("%d%d%d",++i,i--,++i);
}
结果1099
竟然是先算右边++i,然后左边++i与i--是同时的??
彻底找不到北,望高手们指点
搜索更多相关主题的帖子: 结合 
2007-08-05 18:01
zsbliuzhen
Rank: 1
等 级:新手上路
帖 子:55
专家分:0
注 册:2007-8-2
收藏
得分:0 
我用的VC 以上全在一个编辑器中写的

2007-08-05 18:02
gutouwu
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2007-8-3
收藏
得分:0 
#include"stdio.h"
main()
{
int i=8;
printf("%d%d\n",i,i++); /* printf()的运算顺序是从右向左.i++,++在后,表达式的值为8,i再自加值为9 */
<2><1>
}
结果为88


#include"stdio.h"
main()
{
int i=8;
printf("%d%d\n",i++,--i); /* --i,--在前,表达式的值为8-1=7,i的值为7,再算i++,++在后,表达式的值为7,i再自加*/
}
结果为77



水平有限,只能解释成这样

2007-08-05 20:12
zsbliuzhen
Rank: 1
等 级:新手上路
帖 子:55
专家分:0
注 册:2007-8-2
收藏
得分:0 
不是很明白

2007-08-05 21:25
zsbliuzhen
Rank: 1
等 级:新手上路
帖 子:55
专家分:0
注 册:2007-8-2
收藏
得分:0 
大家快来帮帮我5555555555我实在是快疯了

2007-08-05 21:27
zsbliuzhen
Rank: 1
等 级:新手上路
帖 子:55
专家分:0
注 册:2007-8-2
收藏
得分:0 
以下是引用gutouwu在2007-8-5 20:12:24的发言:
#include"stdio.h"
main()
{
int i=8;
printf("%d%d\n",i,i++); /* printf()的运算顺序是从右向左.i++,++在后,表达式的值为8,i再自加值为9 */
<2><1>
}
结果为88


#include"stdio.h"
main()
{
int i=8;
printf("%d%d\n",i++,--i); /* --i,--在前,表达式的值为8-1=7,i的值为7,再算i++,++在后,表达式的值为7,i再自加*/
}
结果为77



水平有限,只能解释成这样

就按你说的,第一个的结果应该是一个8一个9


2007-08-05 21:32
今天你C了么
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2007-8-5
收藏
得分:0 
看的少,解决的更少,关注中

2007-08-05 21:42
maoguoqing
Rank: 6Rank: 6
来 自:重庆
等 级:贵宾
威 望:28
帖 子:2980
专家分:19
注 册:2005-12-5
收藏
得分:0 
以下是引用zsbliuzhen在2007-8-5 21:32:01的发言:

就按你说的,第一个的结果应该是一个8一个9

先输出两个8,输出语句完了之后,i的值才变为9,i++如果在一个语句中,就是这个语句结束之后,i的值才变


天行健,君子以自强不息!!QQ:68660681
2007-08-05 23:05
zsbliuzhen
Rank: 1
等 级:新手上路
帖 子:55
专家分:0
注 册:2007-8-2
收藏
得分:0 
难道没个高手系统的解释下么?老是这么一句一句的。。。。

2007-08-06 00:50
czl
Rank: 1
等 级:新手上路
帖 子:50
专家分:0
注 册:2007-7-1
收藏
得分:0 
这个跟编译器有关 没必要讨论的
2007-08-06 08:46
快速回复:[求助]结合性的问题
数据加载中...
 
   



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

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