| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 787 人关注过本帖
标题:这个是为什么?
只看楼主 加入收藏
黄昏的王座
Rank: 2
来 自:安徽亳州
等 级:论坛游民
帖 子:38
专家分:65
注 册:2011-10-5
结帖率:85.71%
收藏
已结贴  问题点数:1 回复次数:10 
这个是为什么?
我用code:block编写的
#include<stdio.h>
int main()
{
    int i = 2;
    printf ("%d, %d", i++, ++i);
}



输出结果为3,4.   按照规则应该输出的是3,3 啊!
搜索更多相关主题的帖子: block 
2011-10-05 11:32
别时茫茫
Rank: 2
来 自:安徽蚌埠
等 级:论坛游民
威 望:1
帖 子:29
专家分:72
注 册:2011-10-5
收藏
得分:1 
这个可能和编译器有关系吧。我用了vc和codeblocks编译出来的结果不一样。
2011-10-05 11:38
唯我独魔
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:176
专家分:782
注 册:2011-4-13
收藏
得分:0 
我运行是3,3
2011-10-05 11:40
mengcan555
Rank: 4
等 级:业余侠客
帖 子:104
专家分:253
注 册:2011-9-17
收藏
得分:0 
我用 vc6是3 3
2011-10-05 12:46
wxfcyuyan
Rank: 2
来 自:中国安徽
等 级:论坛游民
帖 子:14
专家分:29
注 册:2011-9-2
收藏
得分:0 
回复 楼主 黄昏的王座
按照规则是3,3吗?应该是2,4吧

[ 本帖最后由 wxfcyuyan 于 2011-10-5 15:07 编辑 ]
2011-10-05 14:58
hon664618561
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2011-10-3
收藏
得分:0 
int i = 2;
printf ("%d, %d", i++, ++i);

用vc6.0结果是2,4

i++表示先打印i,i=2,然后i+1,此时i=3.
++i表示先i+1,i=4,然后打印i。
2011-10-05 15:33
hon664618561
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2011-10-3
收藏
得分:0 
纠正一下错误

int i = 2;
printf ("%d, %d", i++, ++i);

结果是3,3

计算是从右到左的
先计算++i,i=3,再打印3;然后计算i++,先打印i,打印完后i+1,i=4,

所以结果为3,3
2011-10-05 15:56
qwerty089850
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2011-10-3
收藏
得分:0 
一起打印结果是 3,3
分开来:
             printf("%d\n",i++);
             printf("%d\n",++i);
结果是  2
        4
原因是:其中i++表示先执行这句命令后+1;i++表示先加1在执行命令。
!!!记住是执行完整句命令之后。因此: printf("%d\n%d\n",i++,++i);的执行是: 计算++i,打印两个%d %d,计算i++。
这是VC6运行的结果,至于你的3,4  我不解。

[ 本帖最后由 qwerty089850 于 2011-10-5 16:06 编辑 ]
2011-10-05 16:03
hon664618561
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2011-10-3
收藏
得分:0 
#include<stdio.h>
int main()
{
    int i = 2;
    printf ("%d, %d", i++, ++i);
    printf (", %d", i);
}
这个结果是3,3,4  
2011-10-05 16:11
NeXT__00
Rank: 2
等 级:论坛游民
帖 子:51
专家分:98
注 册:2011-9-5
收藏
得分:0 
从右到左  计算
2011-10-05 21:21
快速回复:这个是为什么?
数据加载中...
 
   



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

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