| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1234 人关注过本帖
标题:关于i++与++i的问题
只看楼主 加入收藏
shi625628276
Rank: 1
等 级:新手上路
帖 子:26
专家分:9
注 册:2011-9-2
结帖率:75%
收藏
已结贴  问题点数:5 回复次数:28 
关于i++与++i的问题
void main(){
 int i=8;
 printf("%d\n%d\n%d\n%d\n%d\n",++i,--i,i--,i++,-i--);
}
结果是 8 7 8 8 -8
这个输出的结果问什么感觉不对呢?
不应该是 9 8 10 9 -8 么?


[ 本帖最后由 shi625628276 于 2011-9-9 11:27 编辑 ]
搜索更多相关主题的帖子: void 
2011-09-09 11:26
shi625628276
Rank: 1
等 级:新手上路
帖 子:26
专家分:9
注 册:2011-9-2
收藏
得分:0 
#include<stdio.h>
void main()
{

 int i=8;
printf("%d\n%d\n",++i,i++);
}
的结果是9 8
不应该是10 8么?谁给我说下为什么!!!谢谢!!!!!
2011-09-09 11:32
随风飘荡
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:3
帖 子:208
专家分:598
注 册:2011-9-9
收藏
得分:0 
第一个没看懂 第二个是++i倒容易理解 +了1之后再使用是9没错 至于i++就是使用之后再加1 也没错
我也是新手

也问下各位大大为什么printf里面的++i,i++ 输出的不是9,9 而是9,8 假设分开的话 确实是9,9

另外再经过了printf里面的++i和i++之后 数值确实一共+了2 变成了10 但是却不是在printf里即时变动 ?

实验程序如下
程序代码:
#include <stdio.h>
void main()
{
    int i=8;
    printf("%d,%d\n",++i,i++);

    printf("%d\n",i);

    int ii=8;
    ++ii;
    printf("%d\n",ii);
    ii++;
    printf("%d\n",ii);
}

输出为:9,8
        10
        9,10

2011-09-09 11:42
shi625628276
Rank: 1
等 级:新手上路
帖 子:26
专家分:9
注 册:2011-9-2
收藏
得分:0 
回复 3楼 随风飘荡
printf()的运算方向是自右向左呀!如果这样的话,你再看看还对么?
2011-09-09 12:00
shi625628276
Rank: 1
等 级:新手上路
帖 子:26
专家分:9
注 册:2011-9-2
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册
不对呀!!!!!!
2011-09-09 12:09
随风飘荡
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:3
帖 子:208
专家分:598
注 册:2011-9-9
收藏
得分:0 
好吧 我承认我没翻书... 自右向左的话那你上面这个是怎么回事,而且第一个的输出也不对啊

那还是不是即时的?


[ 本帖最后由 随风飘荡 于 2011-9-9 12:18 编辑 ]
2011-09-09 12:16
shi625628276
Rank: 1
等 级:新手上路
帖 子:26
专家分:9
注 册:2011-9-2
收藏
得分:0 
我也不知道,所以问问大家
2011-09-09 12:18
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
用心钻研这个问题,很快可以成为欧阳锋了,当杨过的义父那个。

授人以渔,不授人以鱼。
2011-09-09 13:18
shi625628276
Rank: 1
等 级:新手上路
帖 子:26
专家分:9
注 册:2011-9-2
收藏
得分:0 
回复 8楼 TonyDeng
我晕,自己不明白你不弄懂,难道就这样不管了?那你以后每当遇到不明白的你就不管了?那你自己最后会什么?
2011-09-09 13:56
QQ785468931
Rank: 2
等 级:论坛游民
帖 子:43
专家分:50
注 册:2011-8-30
收藏
得分:0 
回复 2楼 shi625628276
一个可以说是自加后再运算,即++i;
一个是运算后再自加,i++;
2011-09-09 14:33
快速回复:关于i++与++i的问题
数据加载中...
 
   



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

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