| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1460 人关注过本帖
标题:请问结果是多少?为什么这样?
只看楼主 加入收藏
Blosson
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2011-11-20
结帖率:50%
收藏
已结贴  问题点数:1 回复次数:26 
请问结果是多少?为什么这样?
程序代码:
include<stdio.h>
main()
{
   int i=3,k;
   k=(i++)+(++i)+(i++);
   printf("%d%d",i,k);
}
搜索更多相关主题的帖子: 多少 
2011-11-20 13:49
huhao3225
Rank: 2
来 自:四川成都
等 级:论坛游民
帖 子:39
专家分:25
注 册:2011-11-9
收藏
得分:0 
答案是:612
k=(i++)+(++i)+(i++);中使用(i++)时就直接是使用i,使用(++i)时则使用(i+1)。
2011-11-20 14:28
huashisha
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2011-11-20
收藏
得分:0 
应该是++i的优先级最高
2011-11-20 14:42
非死亡!
Rank: 8Rank: 8
来 自:四川
等 级:蝙蝠侠
帖 子:179
专家分:760
注 册:2011-10-31
收藏
得分:0 
未定义

能力 技巧
2011-11-20 15:10
Blosson
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2011-11-20
收藏
得分:0 
回复 楼主 Blosson
还是不懂......
2011-11-20 15:57
weihui910728
Rank: 2
等 级:论坛游民
帖 子:14
专家分:12
注 册:2011-11-20
收藏
得分:0 
  运行结果是612    k=(i++)+(++i)+(i++)中先执行括号中的i++  、 ++i 、 i++   那么i++或++i中的i都没有被使用到所以i都自行加1即k=4+4+4=12    然后是i和值了为什么是6呢!  因为整个式子中三个i都各自加了1所以i就自己加了3    原本i的值就是3再加上3所以     i=6
2011-11-21 00:43
Blosson
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2011-11-20
收藏
得分:0 
为什么i++没被使用到呢?按照i++是使用后自加,++i是自加后使用,式子不是应该是k=3+4+3=10;i=6吗?
2011-11-21 08:11
weihui910728
Rank: 2
等 级:论坛游民
帖 子:14
专家分:12
注 册:2011-11-20
收藏
得分:0 
i++这条语句中的i没有使用到   因为(i++)加了括号之后就先执行i++等i++执行完之后才执行下一步      相当于执行一个  i++;  语句i没有赋值给谁或是有要使用到i的地方所以就没有先使用之说了     就像你去吃饭 当你有饭吃的时候你才使用筷子吧    你不吃饭你还用筷子吗   但筷子都要消毒的   
   你没有使用到i但i始终都要加1
例如:
#include<stdio.h>
void main()
{
    int i=3,y;
    i++;/这是一条完整的语句  当执行完这条语句时i本身加了1再执行下一个语句/
    printf("%d\n",i);/所以这理输出的是4而不是3所以现在i=4/
    y=i++;/到这一步i就要先使用了  先把i的值赋给y然后i自加1
    printf("%d  %d\n",i,y);所以这里输出的就是i=5   y=4了
}
2011-11-21 11:16
Blosson
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2011-11-20
收藏
得分:0 
单个道理我懂,就是不知连起来的话, k=(i++)+(++i)+(i++);不是只有中间的有先自加
吗?结果不就是3+4+3吗?
2011-11-21 13:14
零波丽
Rank: 3Rank: 3
来 自:莉莉斯
等 级:论坛游侠
帖 子:222
专家分:107
注 册:2011-9-8
收藏
得分:0 
不知道 为什么 一定要讨论 I++与 ++I
说实话 尽力避免这种情况才是 最好的

人又是什么?神造出来的东西。 人是人造出来的东西。
2011-11-21 13:15
快速回复:请问结果是多少?为什么这样?
数据加载中...
 
   



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

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