在C语言中自增自减运算符有啥作用?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在C语言中自增自减运算符有啥作用?相关的知识,希望对你有一定的参考价值。
这是一类特殊的运算符,自增运算符++和自减运算符—对变量的操作结果是增加1和减少1.例如:--Couter; Couter-; ++Amount; Amount++;
看这些例子里,运算符在前面还是在后面对本身的影响都是一样的,都是加1或者减1,但是当把他们作为其他表达式的一部分,两者就有区别了。运算符放在变量前面,那么在运算之前,变量先完成自增或自减运算;如果运算符放在后面,那么自增自减运算是在变量参加表达式的运算后再运算。这样讲可能不太清楚,看下面的例子:
num1=4; num2=8; a=++num1; b=num2++ a=++r
+num1;这总的来看是一个赋值,把++num1的值赋给a,因为自增运算符在变量的前面,所以num1先白增加1变为5,然后赋值给a,最终a也为5。b=num2++;这是把num2++的值赋给b,因为白增运算符在变量的后面,所以先把num2赋值给b,b应该为8,然后num2自增加1变为9。
那么如果出现这样的情况我们怎么处理呢?c=num1+++num2;
到底是
c=(num1++)+num2;
还是
c=num1+(++num2);
这要根据编译器来决定,不同的编译器可能有不同的结果。所以我们在以后的编程当中,应该尽量避免出现上面复杂的情况。 参考技术A 自增 x++ 意思为x=x+1
++x
自减 x-- 意思为 x=x-1
- -x 参考技术B 省地方,并且根据前缀和后缀可以灵活变通,具体我也不太会说,反正我一般有时候突然想起来这里执行完要自增,我直接后缀++,就很方便,不用再插一行
自增、自减运算符的使用?
参考技术A 这是一类特殊的运算符,自增运算符++和自减运算符--对变量的操作结果是增加1和减少1。例如:
--Couter;
Couter--;
++Amount;
Amount++;
看这些例子里,运算符在前面还是在后面对本身的影响都是一样的,都是加1或者减1,但是当把他们作为其他表达式的一部分,两者就有区别了。运算符放在变量前面,那么在运算之前,变量先完成自增或自减运算;如果运算符放在后面,那么自增自减运算是在变量参加表达式的运算后再运算。这样讲可能不太清楚,看下面的例子:
num1=4;
num2=8;
a=++num1;
b=num2++;
a=++num1;这总的来看是一个赋值,把++num1的值赋给a,因为自增运算符在变量的前面,所以num1先自增加1变为5,然后赋值给a,最终a也为5。b=num2++;这是把num2++的值赋给b,因为自增运算符在变量的后面,所以先把num2赋值给,b应该为8,然后num2自增加1变为9。
那么如果出现这样的情况我们怎么处理呢?
c=num1+++num2;
到底是c=(num1++)+num2;还是c=num1+(++num2);这要根据编译器来决定,不同的编译器可能有不同的结果。所以我们在以后的编程当中,应该尽量避免出现上面复杂的情况。
以上是关于在C语言中自增自减运算符有啥作用?的主要内容,如果未能解决你的问题,请参考以下文章