| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 903 人关注过本帖
标题:为什么会是这样子
只看楼主 加入收藏
槅槅
Rank: 1
等 级:新手上路
帖 子:15
专家分:8
注 册:2010-5-7
结帖率:100%
收藏
 问题点数:0 回复次数:17 
为什么会是这样子
#include <stdio.h>
void main()
{
    int i,j,m,n;
    i=8;j=10;
    printf("%d,%d\n",i,j);
}
这个结果为8,10;但是我的代码改为
#include <stdio.h>
void main()
{
    int i,j,m,n;
    i=8;j=10;
    m=i++;
    n=j++;
    printf("%d,%d\n",i,j);
}
为什么结果会变为9,11,不是应该i和j不变的吗?变的应该是m和n呀!
实在是不明白,能给我讲解讲解吗?
搜索更多相关主题的帖子: include 
2010-06-17 17:47
forever74
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:CC
等 级:版主
威 望:58
帖 子:1686
专家分:4252
注 册:2007-12-27
收藏
得分:0 
谁告诉你的应该i和j不变?抓紧时间索赔。咱得有维权意识。

对宇宙最严谨的描述应该就是宇宙其实是不严谨的
2010-06-17 17:55
xiaomanaruto
Rank: 6Rank: 6
等 级:侠之大者
帖 子:79
专家分:443
注 册:2010-4-1
收藏
得分:0 
m=i++;
n=j++;
这两具相当于
i=i+1;
m=i;
j=j+1;
n=j;
所以当然只发生变化了,以后学习主义基础啊!
 
2010-06-17 17:58
槅槅
Rank: 1
等 级:新手上路
帖 子:15
专家分:8
注 册:2010-5-7
收藏
得分:0 
我以前写批处理都是i和j不变,现在学C就有些不明白了,我还刚学,希望大家给讲解讲解,不知道是因为预处理的原因还是什么
2010-06-17 18:02
xxwpk007
Rank: 4
等 级:业余侠客
帖 子:166
专家分:289
注 册:2007-7-29
收藏
得分:0 
这个可以变的
2010-06-17 18:14
a8979595
Rank: 2
等 级:论坛游民
帖 子:34
专家分:54
注 册:2010-5-31
收藏
得分:0 
这也和编译器有关的,有的便有一起是从前往后扫描有的是从后往前扫描,
2010-06-17 18:41
张君
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:57
专家分:113
注 册:2010-5-13
收藏
得分:0 
m=i++;/* I的数直先付给M,在自身做加1  */
    n=j++;(同上)
你把I++和++I的区别看看吧

做自己就好,保持自己,记得微笑
2010-06-18 09:11
方廷
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:47
专家分:176
注 册:2010-6-9
收藏
得分:0 
m=i++;
//相当于
//m=i;
//i++;
2010-06-18 09:15
槅槅
Rank: 1
等 级:新手上路
帖 子:15
专家分:8
注 册:2010-5-7
收藏
得分:0 
哦,明白了,谢谢
2010-06-18 10:30
无悔爱白修
Rank: 2
等 级:论坛游民
帖 子:28
专家分:27
注 册:2010-3-24
收藏
得分:0 
哈哈.加油学吧!!!
2010-06-18 11:25
快速回复:为什么会是这样子
数据加载中...
 
   



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

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