| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 624 人关注过本帖
标题:运行结果是多少
只看楼主 加入收藏
wang155423
Rank: 6Rank: 6
等 级:侠之大者
帖 子:216
专家分:408
注 册:2011-9-4
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:11 
运行结果是多少
程序代码:
#include "stdio.h"
void main()
{
    int i=1;
    printf("%d %d",i++,++i);
}
上述程序的运行结果是多少?我用VC++6.0运行结果是2 2
不知道为什么?
搜索更多相关主题的帖子: 多少 
2012-03-13 22:30
cfun
Rank: 2
等 级:论坛游民
帖 子:30
专家分:41
注 册:2011-5-5
收藏
得分:2 
2,2是对的!输出的是先计算++i,此时++i==2了,再算++i也为2.
2012-03-13 22:36
左手拉拉
Rank: 1
等 级:新手上路
帖 子:40
专家分:2
注 册:2012-3-3
收藏
得分:2 
我执行的也是2 2啊,按照我的理解是i++和++i有不同的地方,但是貌似最终的i的值还是会改变的。
2012-03-13 22:36
cfun
Rank: 2
等 级:论坛游民
帖 子:30
专家分:41
注 册:2011-5-5
收藏
得分:2 
刚才写错了 ,抱歉!2,2是对的!输出的是先计算++i,此时++i==2了,再算i++也为2.
2012-03-13 22:38
cfun
Rank: 2
等 级:论坛游民
帖 子:30
专家分:41
注 册:2011-5-5
收藏
得分:1 
最终i会=3,因为经过了两次自加
2012-03-13 22:40
Nefal
Rank: 2
等 级:论坛游民
帖 子:9
专家分:42
注 册:2012-3-11
收藏
得分:1 
对于i++;++i;作为单独的表达式的时候,两者是相同的,但是在参加计算时就不一样,如,int i=1,n; (n=i++;n=++i;)结果就不一样了,前者是n=1(先n=i,在i=i+1)后者n=2(先i=i+1,后n=i即n=2),这就是区别,总之有个口诀,++在前先加后用,++在后面则先用后加。用指的是变量.希望对楼主有帮助,,。
2012-03-13 22:45
黑色哀伤
Rank: 1
等 级:新手上路
帖 子:18
专家分:8
注 册:2012-2-28
收藏
得分:1 
这个貌似是这样的,printf函数计算机是从右向左读,因此先读++i,即先自加1,再显示,此时i的值为2,显示为2.
此后读i++,这里是先输出i的值(也就是2)后再执行i=i+1,此时i的值为3,但输出的最后结果是2,2
2012-03-14 09:19
az569872968
Rank: 2
等 级:论坛游民
帖 子:46
专家分:78
注 册:2012-3-14
收藏
得分:0 
事实是2和3    刚运行过的
2012-03-14 11:43
lishaobo
Rank: 1
等 级:新手上路
帖 子:4
专家分:6
注 册:2012-3-13
收藏
得分:0 
刚才运行啦,也是2 2,哈哈,++I是先加一再用,作用后变成了2,而i++是在++i之后的,即再次输出I后再加1,i最终值是3,嘿嘿,我也新手。。。
2012-03-14 16:39
华仔时代到来
Rank: 2
等 级:论坛游民
帖 子:4
专家分:15
注 册:2012-3-14
收藏
得分:0 
上面的同学们说的有点道理,我个人的理解是:先进行++i,因为这是vc++和tumb c的运算方式,至于其他的编程软件有的是从左到右开始的.进行++i,由于i=1,所以++i=2,此时i为2;进行i++后,i++=2,此时i为3;但由于要我们求的是结果是(i++,++i),所以结果是:2,2
2012-03-14 17:07
快速回复:运行结果是多少
数据加载中...
 
   



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

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