aboutsummaryrefslogtreecommitdiffstats
path: root/source/arduino/increment.rst
blob: ea9cb887d98c75984cd1fee1951deb9b468f3b93 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
.. highlight:: cpp

.. _arduino-increment:

Increment (``++``) and Decrement (``--``)
=========================================

These operators increment (add one to) or decrement (subtract one
from) a variable.  If they come before the variable, they return its
new value; otherwise, they return its old value.

Some quick examples::

    x++;  // adds one to x, and returns the old value of x
    ++x;  // adds one to x, and returns the new value of x

    x--;   // decrement x by one and returns the old value of x
    --x;   // decrement x by one and returns the new value of x

A more extended example::

    x = 2;
    y = ++x;      // x now contains 3, y contains 3
    y = x--;      // x contains 2 again, y still contains 3

.. warning:: Be careful!  You cannot put a space in between the two
    ``+`` or ``-`` signs.  This example is broken::

        // this line won't compile (notice the extra space):
        int y = x+ +;

Parameters
----------

**x**: an integer value (like an ``int``, ``long``, ``unsigned int``,
etc.).

See also
--------

- :ref:`Compound arithmetic operators <arduino-arithmeticcompound>`