| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2805 人关注过本帖
标题:一道简单到变态的题目,我竟然不会,求助
只看楼主 加入收藏
xzy199999
Rank: 4
等 级:业余侠客
帖 子:326
专家分:286
注 册:2010-11-19
结帖率:92.45%
收藏
已结贴  问题点数:5 回复次数:43 
一道简单到变态的题目,我竟然不会,求助
下面这个程序输出什么?
#include <stdio.h>
int main()
{
int i=23;
printf("%d %d\n",i++,i++);
return 0;
}
我以为结果是23,24,可是没想到不是这样,想不通,望高人予以解答。
搜索更多相关主题的帖子: include return 
2010-12-06 14:27
kidangel666
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:93
专家分:139
注 册:2010-9-15
收藏
得分:0 
我认为是这样的,printf的运算时从右至左,而i++是先赋值再进行自加,
所以从右至左运算先赋值了23,然后自加,在赋值24,再自加,这样就出结果了
2010-12-06 15:13
tang_ke
Rank: 2
来 自:西安电子科技大学
等 级:论坛游民
帖 子:45
专家分:46
注 册:2010-10-12
收藏
得分:0 
回复 2楼 kidangel666
结果是23 23
2010-12-06 15:16
xzy199999
Rank: 4
等 级:业余侠客
帖 子:326
专家分:286
注 册:2010-11-19
收藏
得分:0 
回复 3楼 tang_ke
那理由是什么呢,为什么会是这个样子啊

我是初学者
2010-12-06 15:18
人生本是如此
该用户已被删除
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽
2010-12-06 16:31
A13433758072
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:广东潮州
等 级:小飞侠
威 望:1
帖 子:1182
专家分:2784
注 册:2010-7-22
收藏
得分:0 
你要注意你的编译器的标准。

一步一个脚印...............................默默地前进.....
诚邀乐于解答c菜鸟问题,的热心网友加入,  QQ群38490319
2010-12-06 16:41
浩凡儿
Rank: 5Rank: 5
等 级:职业侠客
威 望:1
帖 子:101
专家分:394
注 册:2010-10-30
收藏
得分:0 
瞎说是23,24吧不要误人子弟呀
2010-12-06 16:57
五当家
Rank: 12Rank: 12Rank: 12
等 级:火箭侠
威 望:2
帖 子:1112
专家分:3674
注 册:2010-10-20
收藏
得分:0 
以下是引用A13433758072在2010-12-6 16:41:51的发言:

你要注意你的编译器的标准。
同意,不同编译系统不一样.有的从左向右运算,有的从右向左运算.

经验积累中............
2010-12-06 17:13
nqlxz66
Rank: 1
等 级:新手上路
帖 子:4
专家分:3
注 册:2010-12-6
收藏
得分:0 
首先我们应该知道printf函数执行时在栈区,第2,结合方式是从右到左。所以先执行  i++;但i++的值是23进栈,在执行右边的i++;值为24进栈;栈是先进后出的,所以先打印出24,后打印23

520
2010-12-06 17:39
xyzysy
Rank: 2
等 级:论坛游民
帖 子:12
专家分:23
注 册:2010-12-6
收藏
得分:0 
我的是24 23
用的是 WIN-TC
2010-12-06 17:41
快速回复:一道简单到变态的题目,我竟然不会,求助
数据加载中...
 
   



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

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