C语言自增自减运算符用法

[复制链接]
查看11 | 回复3 | 2017-9-28 12:05:21 | 显示全部楼层 |阅读模式
看了一下教材,看不太懂,不知道大家有不有讲解此方面的文章,谢谢,或者举例!
什么前缀单目,后缀单目的啊,真的看不懂,看了几个书上的例子,我不知道是书错了,还是我理解有问题,真的不明白?
例如,前目单缀是先运算再使用对象,后缀单目是先使用对象再运算,如何理解?
假若有:int a=3,b=4

++a+b 的值是不是8啊,变量后a的值是4,运算:是不是(++a)+b啊

a+++4 的值是不是也是8啊,变量后a的值是多少啊,运算是不是:++(a+4)啊,真的有点不明白,希望懂的人告知,谢谢!
a+++4等价于(a++)+4 从左到右尽可能多的取运算符
先理解自增自减的含义,他的作用就是使变量加一,这个是不会受到是前缀或是后缀的影响的
(a++)+4=7 a=4
这如何理解啊,我怎么觉得这个的值应该是8怎么会是7呢?

回复

使用道具 举报

千问 | 2017-9-28 12:05:21 | 显示全部楼层
C语言的前置++和后置++,称为自增运算符前置--和后置--称为自减运算符,下面以自增运算符的区别来加以介绍,自减类似如果单独写 自增运算符为一个语句,二者没有区别++i; 和 i++; 都是让i+1赋值给i但是如果把自增运算符写入到另外表达式中二者就有很大区别了例如i=5;j=i++;执行后i为6,j为5i=5;j=++i;执行后i为6,j为6...
回复

使用道具 举报

千问 | 2017-9-28 12:05:21 | 显示全部楼层
++a是先自加后操作,a++是先操作后自加,--也类同。 a+++4这种题是很容易混淆的,而且对于一些运算规则,不同的编译系统有不同的规定,不建议楼主使用。如果是作业题的话,直接用程序运行看看结果是多少就行了。...
回复

使用道具 举报

千问 | 2017-9-28 12:05:21 | 显示全部楼层
a+++4等价于(a++)+4从左到右尽可能多的取运算符先理解自增自减的含义,他的作用就是使变量加一,这个是不会受到是前缀或是后缀的影响的(a++)+4=7 a=4...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行