Para operadores unitarios, existe el preincremento (++ i) y el incremento posterior (i ++). Para el preincremento, el valor que se incrementará se agregará antes de una operación. Por ejemplo:
#include <iostream>
using namespace std;
void main()
{
int i = 0;
cout << ++i;
}
En este caso, la salida sería 1. La variable 'i' se incrementó por el valor de 1 antes de cualquier otra operación, es decir 'cout < < ++ i'.
Ahora, si hicimos el post-incremento en la misma función:
#include <iostream>
using namespace std;
void main()
{
int i = 0;
cout << i++;
}
La salida sólo sería 0. Esto se debe a que el incremento ocurriría después de la operación. Pero ya que usted quiere saber acerca de pasarlos en como parámetros, esto es lo que pasará:
#include <iostream>
using namespace std;
// Function Prototypes
void PrintNumbers(int, int);
void main()
{
int a = 0, b = 0;
PrintNumbers(++a, b++);
}
void PrintNumbers(int a, int b)
{
cout << "First number: " << a << endl;
cout << "Second number: " << b << endl;
}
Al pasar en aquellas variables como parámetros, la salida sería:
First number: 1
Second number: 0
espero que este ayuda !!
Probablemente sería más claro si utiliza diferentes variables en su programa de ejemplo. Además, debe poner "\ n" * después de * los valores que está imprimiendo, no antes. Esto imprimirá actualmente "2 23" – DevinB
Debería intentar algo que sea más claro. Esa sintaxis es bastante extraña para un ser humano. Haga el código simple, no intente escribir cosas complicadas. – INS