| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1542 人关注过本帖
标题:关于C语言自增自减的问题
只看楼主 加入收藏
sora2015x
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2018-7-4
结帖率:33.33%
收藏
 问题点数:0 回复次数:5 
关于C语言自增自减的问题
#include <stdio.h>
int main()
{
    int i=3,j=4;
        printf("%d,%d,",i++,j++);
return 0;

 }
结果:3,4
为什么结果是3,4。不是4,5吗?


include <stdio.h>
int main()
{
    int i=3,j=4;
        printf("%d,%d,",i++,j++);
        printf("%d,%d\n",++i,++j);
return 0;

}
结果:3,4,5,6
这个结果不懂,麻烦各位大神解析一下,越详细越好,谢谢!
搜索更多相关主题的帖子: 自增 自减 int printf 结果 
2018-10-31 18:28
Tomorrw_I
Rank: 10Rank: 10Rank: 10
等 级:禁止访问
威 望:6
帖 子:406
专家分:1712
注 册:2018-10-16
收藏
得分:0 
a= ++i;  这句的i先加1,赋值给啊
也就是说++在前面,就要先给i自增,再使用i

a= i++   这句,先使用i,然后i再增加
也就是说++在后面,就要先使用i,i再自增1

学C有用吗?
学C++有前途吗?
数据库有必要学吗?
……
别问,你还什么都不会,学就对了
……
2018-10-31 18:31
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10607
专家分:43182
注 册:2014-5-20
收藏
得分:0 
这样看看
printf("%d,%d,",i,j);
printf("%d,%d,",i++,j++);
printf("%d,%d,",i,j);
printf("%d,%d\n",++i,++j);
printf("%d,%d,",i,j);
2018-10-31 19:57
C基础
Rank: 6Rank: 6
等 级:侠之大者
威 望:6
帖 子:133
专家分:421
注 册:2018-10-15
收藏
得分:0 
不放一个一个来看,输出一个和输出两个效果是一样的,一个明白了,两个也就明白了,先看这一句,printf("%d",i++);首先要知道“i++表示的是先用i,然后让i+1”,这句话翻译在这条输出语句中的意思就是,先输出i,然后再让i+1,如果你后面再把i单独输出,它就会呈现加1的效果,就按照你的i=3来看,比方说你运行这个程序
include <stdio.h>
int main()
{
    int i=3;
        printf("%d\n",i++);
        printf("%d",i);
return 0;
}
得到的结果就是3和4。后面的"++i"是同样的道理。
2018-10-31 20:48
sora2015x
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2018-7-4
收藏
得分:0 
大家好!我再问一句,以下运算是从左到右还是从右到左运算,谢谢大家的帮忙!
问题1:
#include <stdio.h>
int main()
{
    int i=5;
        printf("%d\n",(i++)+(i++)+(++i));
        printf("%d\n",i);
return 0;
}
结果是:16 8
以我的理解应该从左到右,即5+5+6=16,但是++i的运算级别高于i++,应该从右到左计算?



问题2:

#include <stdio.h>
main()
{
 int x=10,y;
     y=(x++)+(--x);
     printf("%d,%d",x,y);
}
结果是:X=10,Y=18
这个不懂,希望那个得到大家的帮助,谢谢!!
2018-11-03 15:42
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10607
专家分:43182
注 册:2014-5-20
收藏
得分:0 
回复 5楼 sora2015x
对于不同的编译器,有从右到左,也有从左到右,还有各自先算好再输出。
2018-11-03 16:07
快速回复:关于C语言自增自减的问题
数据加载中...
 
   



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

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