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

看了一下教材,看不太懂,不知道大家有不有讲解此方面的文章,谢谢,或者举例!
什么前缀单目,后缀单目的啊,真的看不懂,看了几个书上的例子,我不知道是书错了,还是我理解有问题,真的不明白?
例如,前目单缀是先运算再使用对象,后缀单目是先使用对象再运算,如何理解?
假若有: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呢?

C语言的前置++和后置++,称为自增运算符
前置--和后置--称为自减运算符,下面以自增运算符的区别来加以介绍,自减类似

如果单独写 自增运算符为一个语句,二者没有区别
++i; 和 i++; 都是让i+1赋值给i
但是如果把自增运算符写入到另外表达式中二者就有很大区别了

例如
i=5;
j=i++;
执行后i为6,j为5
i=5;
j=++i;
执行后i为6,j为6
温馨提示:内容为网友见解,仅供参考
第1个回答  2008-11-18
++a是先自加后操作,a++是先操作后自加,--也类同。

a+++4这种题是很容易混淆的,而且对于一些运算规则,不同的编译系统有不同的规定,不建议楼主使用。

如果是作业题的话,直接用程序运行看看结果是多少就行了。
第2个回答  2008-11-18
a+++4等价于(a++)+4 从左到右尽可能多的取运算符
先理解自增自减的含义,他的作用就是使变量加一,这个是不会受到是前缀或是后缀的影响的
(a++)+4=7 a=4
第3个回答  2008-11-18
a+++4难道是++4优先????
第4个回答  推荐于2017-10-06
int a[3];
for(i=0;i<3;) scanf("%d",a[i++]);
正确
int a[3];
for(i=0;i<3;) scanf("%d",a[++i]);
下标越界
for(i=0;i<3;) scanf("%d",a[i++]);
相当
for(i=0;i<3;){scanf("%d",a[i]);i++;}

for(i=0;i<3;i++) scanf("%d",a[i]);

for(i=0;i<3;) scanf("%d",a[++i]);
相当
for(i=0;i<3;){i++;scanf("%d",a[i]);}
所以下标越界本回答被提问者采纳

在C语言中自增自减运算符有什么作用?
--Couter; Couter-; ++Amount; Amount++;看这些例子里,运算符在前面还是在后面对本身的影响都是一样的,都是加1或者减1,但是当把他们作为其他表达式的一部分,两者就有区别了。运算符放在变量前面,那么在运算之前,变量先完成自增或自减运算;如果运算符放在后面,那么自增自减运算是在变量参加表达...

c语言中自加自减怎么运算
自加++自减--运算的数据类型可以是Float和Double。在c语言中,并不是所有变量都可以使用自增自减操作符;可以使用自增自减操作符的数据类型有:int、float、double 、char、long。自增(++) :将变量的值加1,分前缀式(如++i) 和后缀式(如i++) 。前缀式是先加1再使用;后缀式是先使用再加1。

如何用C语言实现自加自减功能?
在C语言中,自增(自加)和自减是通过操作符来实现的。自增操作使用 ++ 运算符,它将变量的值增加1。示例如下:int a = 5;a++; \/\/ 等同于 a = a + 1;自减操作使用 – 运算符,它将变量的值减少1。示例如下:int b = 7;b--; \/\/ 等同于 b = b - 1;需要注意的是,自增和...

C语言如何编写 实现的一个数的自加与自减?
C语言自增(++)和自减(--)运算符 自增运算符++的功能是使变量的值自增 1,自减运算符--的功能是使变量的值自减 1.自增和自减运算因其表达式中只有一个变量,所以称其为单目运算

C语言自增自减运算符深入剖析
自增自减运算符语法自增运算符 ++ 使操作数的值加1,其操作数必须为(可简单地理解为变量)。对于自增就是加1这一点,Eric想大家都不会有什么疑问。问题在于:++ 可以置于操作数前面,也可以放在后面,如:++i;i++ ;++i表示,i自增1后再参与其它运算;而i++ 则是i参与运算后,i的值再自增...

C语言中"++""--"应用
++和—-分别是自增和自减运算符。可以分别对变量自身做加1或减1计算。例如x=x+1和x+=1和++x都是没区别的,唯一的区别据说是在运行的时候会有个快慢的问题。但是在赋值运算的时候.Y=x++和 Y=++x是有区别的。此时后面的Y比前面的大一,但是这一步运行之后X是一样的值的。

c语言中++和--各表示什么意思?
本题中作用是实现a先加1再进行乘法运算,c=4*5=20.自增自减运算符存在于C\/C++\/C#\/Java等高级语言中,它的作用是在运算结束前(前置自增自减运算符)或后(后置自增自减运算符)将变量的值加(或减)一。相较于这些语言中的+=和-=运算符,自增运算符更加简洁,且可以控制效果作用于运算之前...

C语言中增1减1运算符
自增(++)和自减(--)操作符为对象加1或减1操作提供了方便简短的实现方式。它们有前置和后置两种使用形式。i++ 等同于 i = i + 1。++和--既可写在变量之前,称为前置运算,如:++a;--a;++和--也可以写在变量之后,称为后置运算,如:a++;a--。对单独一个变量实行前置运算或后置...

C语言中a[++i]=是什么意思?
a[]指的是数组,在括号里的,是一个自增自减运算符。如果让i等于3,a[++i]的结果是a[4].但如果是a[i++].那么结果是a[3].第一个式子,是在本身这个语句中i的值加一,然后再运算。而第二个式子,是用其本身的值去运算,然后再下一个句子的时候再加一。

c语言的自增自减问题
1、缓冲区是一堆栈 2、第一步:处理后面的“i--”。8进入缓冲区,i=7。缓冲区:8 <-(指针)第二步:处理“i++”。7进入缓冲区,i=8。缓冲区:7 8<- 第三步:处理”--i“。8进入缓冲区,i=7.缓冲区:8 7 8 第四步:处理“++i” 先自增1,然后8进入缓冲区,i=8 .缓冲区:...

相似回答